科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道oracle为什么这么慢

oracle为什么这么慢

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

     用oracle8.05和sql server2000对照测试   分别在两个系统里建立结构完全相同的两个表   create table test   (dep_id number(7,0) not null,    del_name va

作者:中国IT实验室 来源:中国IT实验室 2007年10月5日

关键字: 优化 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

  
  用oracle8.05和sql server2000对照测试
  分别在两个系统里建立结构完全相同的两个表
  create table test
  (dep_id number(7,0) not null,
   del_name varchar2(100));
  无主键,无约束先用以下语句插入一条记录insert into test values(1,'一二三四五六七八九十')
  然后重复使用insert into test select * from test
  建立样本数据当数据记录条树达到16384时计算select * from test所耗时间sql 2000用时 不到1秒
  而oracle用时6分钟!
  oracle安装按典型安装,数据库按缺省方式建立为什么会这么慢?
  
  
  
  发信人: qhs (山山~快乐的梅花小猪), 信区: Database
  
  The difference between SQL Server and Oracle is Oracle is designed for enterprise environment and SQL Server is still based on small business.
  If you have a master table with 30,000,000 records,
  you will see the difference. Of course, performance
  tunning is very import for both. But Oracle
  proformance tuning is much better than SQL server.
  【 在 yacat (yacat) 的大作中提到: 】
  : 用oracle8.05和sql server2000对照测试 分别在两个系统里建立结构完全相同的两个表
  : create table test
  : (dep_id number(7,0) not null,
  : del_name varchar2(100));
  : 无主键,无约束
  : 先用以下语句插入一条记录
  : insert into test values(1,'一二三四五六七八九十')
  : 然后重复使用insert into test select * from test
  : 建立样本数据
  : 当数据记录条树达到16384时
  : ...................
  
  
  
  发信人: FairyBoy (善才童子), 信区: Database
  
  我觉得这不大可能,我也用Oracle和SQL Server,不过,我是编程看的,SQLserver使用VC/ADO,Oracle用VC/OCI,在数据量小的时候,二者速度基本没有差别,大数据量时SQL Server差远了,例如我调用数据库里的大量图片!很可能是测试工具问题,还有,Oracle性能与设置有很大关系,例如回滚、表空间、日志等等,还有一个,Oracle装在什么样的OS里,个人认为,Win平台下Oracle需要的资源例如内存要更多!这样才能发挥它的效能
  
  【 在 yacat (yacat) 的大作中提到: 】
  : 用oracle8.05和sql server2000对照测试
  : 分别在两个系统里建立结构完全相同的两个表
  : create table test
  : (dep_id number(7,0) not null,
  : del_name varchar2(100));
  : 无主键,无约束
  : 先用以下语句插入一条记录
  : insert into test values(1,'一二三四五六七八九十')
  : 然后重复使用insert into test select * from test
  : 建立样本数据
  : 当数据记录条树达到16384时
  : ...................
  
  
  
  发信人: leejw (小威威), 信区: Database
  
  我也一直认为oracle是企业级的,甚至是电信级的至少中国的电信行业用的基本上是oracle,我认识的许多人也把oracle吹捧上天
  
  但是,客观的说,我觉得sql server在windows平台上面的表现非常的好,远远不是oracle所能比的;这个话题第一篇文章里面说的问题我觉得非常可能,因为我在实际应用的时候也碰见过。在倒入一个小批量数据的时候,sql server用了6秒钟,而象db2、oracle这两种所谓enterprise级别的db没有小于1分钟的!!!
  (三个数据库系统都没有做优化!)
  
  也许有人会说oracle、db2在大数据量下面才会显示出性能优势。我对这种说法没有意见,因为我也认为应该是这样,我认识的一些高手也是这样认为地(和它们比,我只是菜鸟,呵呵);但是,一个好的数据库系统,好的engine,难道不应该有快速处理小量数据的能力吗?
  
  有人会说oracle的performance tuning很好。的确,oracle有很多可选的参数,但是oracle的tuning也是最复杂的,找一个精通tuning的dba恐怕也花费不少吧!从另一个角度来说,很多的tuning选项也就意味着更大的复杂性,更差的可管理性,这难道不是oracle的弱点吗?oracle居然还不要脸的搞一个dba performance tuning pack,本来应该集成到数据库里面的东西单独拿出来卖!ibm db2性能一点也不比oracle差,它的tuning可比oracle要简单的多了。而且有不少
  oracle根本不具备(或者比较难实施)的提高性能的措施,例如dms
  
  
  有人会说oracle需要在大内存下面才能体现出高性能,例如8G。算我见识少,还没有玩过这么大内存的机器。但是要知道,真正的企业应用讲究的是成本效益比,我真的需要
  8G内存的机器来跑我的应用吗?如果你的dbms是真的好,1G内存也能够显示出来吧?在小内存(例如512m)的场合为什么就慢呢?为什么sql server能够跑得飞快,oracle就不行呢?内存小就跑不快,这恐怕不能成为理由吧!
  
  再说一句题外话,类似于sun一类的公司老是说他们的机器性能如何的好,但是我亲自做了一个小试验:在我的pIII 600+256m+ide 20gb hd的组装机器上面使用java
  生成一个符合某种规则的庞大(5g)的数据文件,在一台sun e450+2gb ram+scsi 130gb hd的服务器上面运行同样的程序,结果pIII的速度至少是e450的4倍!我当时特别的惊讶
  
  的确,高端的应用需要高可用性、高安全性(unix based or main frame),这些可能未必是intel架构的系统或者是sql server这一类small business的数据库服务器所能够提供的,但是,我们对某些厂家的宣传也不能过于迷信。尤其是企业it部门的负责人,应该好好想想自己的企业需要什么样的应用,对性能的要求如何,怎么样平衡性能、开发速度、可维护性(维护成本)等等因素之间的关系,衡量清楚之后再作决策,切不可偏听偏信。
  
  
  
  写这一篇文章绝对没有偏袒那一个厂家的动机,我是db2 的dba,sql server的dba,oracle的太贵,又不能带来短期的效益,所以没有考。
  
  oracle, db2, sqlserver做到这个程度都是很优秀的系统,它们之间各有所长,暂时还看不出谁能够代替谁的趋势;但是,作为一个企业级应用来说,需要考虑的不仅仅是性能,更重要的是tco,在这个意义上讲,sql server有着非常明显的优势;
  而db2在高端领域,正在和oracle展开对攻,而且胜算颇大;最令人担忧的是oracle搞不好就会落一个众叛亲离的下场。
  说多了,呵呵,赶紧复习去。
  
  
  【 在 qhs (山山~快乐的梅花小猪) 的大作中提到: 】
  The difference between SQL Server and Oracle is Oracle is designed for enterprise environment and SQL Server is still based on small business. If you have a master table with 30,000,000 records, you will see the difference. Of course, performance tunning is very import for both. But Oracle
  proformance tuning is much better than SQL server.
  
  
  发信人: qxue (勤学?渐行渐远), 信区: Database
  
  做一个比喻,可能不是太恰当:
  同时用一个高档傻瓜和一个专业SLR拍片子如果是一般水平的业余爱好者,基本上是傻瓜机拍出来的质量好
  至少也是和使用AF程序暴光的SLR拍出来差不多因为用SLR手动测光、调焦、设定光圈大小、快门速度、预测景深、构图等等过程,以及对光线、胶片的掌握程度,不是一日之功
  但专业摄影师就可以用SLR得到全自动傻瓜不能得到的效果上万块的机身加上万块的镜头,不调整直接按快门,拍出来的绝对是废片我们当然可以指责这么贵的东西为什么还不如一台普通傻瓜效果好但是很遗憾,确实不行,因为它不是这么用的NIKON绝对不想为了普通用户而把F5变成傻瓜机,因为它知道使用这台机器的
  绝大多数是专业或准专业人士BTW,最近在学习摄影,所以借来用一下,呵呵
  
  【 在 leejw (小威威) 的大作中提到: 】
  : 我也一直认为oracle是企业级的,甚至是电信级的 至少中国的电信行业用的基本上是oracle,我认识的许多人也把oracle吹捧上天
   但是,客观的说,我觉得sql server在windows平台上面的表现非常的好,远远不是oracle所能比的;这个话题第一篇文章里面说的问题我觉得非常可能,因为我在实际应用的时候也碰见过。在倒入一个小批量数据的时候,sql server用了6秒钟,而象db2、oracle这两种所谓enterprise级别的db没有小于1分钟的!!!(三个数据库系统都没有做优化!) 也许有人会说oracle、db2在大数据量下面才会显示出性能优势。我对这种说法没有意见 ,因为我也认为应该是这样,我认识的一些高手也是这样认为地(和它们比,我只是菜鸟,呵呵);但是,一个好的数据库系统,好的engine,难道不应该有快速处理小量数据的能力吗?
  
  
  
  
  发信人: wolfop (真恨无敌), 信区: Database
  
  坚决不同意,导入的速度快慢,谁能和mysql比速度?
  我导入2M条记录到mysql用203s,到oracle用70min,所以mysql 比oracle好?
  db2的数据导入有load和import两种方式,你用的那种?
  企业应用关键还在稳定性上,跑在win32平台的稳定,呵呵。
  反正我们的IOD的稳定性不能恭维,就是WIN+ MS SQL SERVER的。
  同样用PC的跑Sco+informix都比这个东西稳定。
  
  当然说到Oracle的速度,到大型的东西也没有什么优势,往往TPC的测试都落在DB2和Informix后面,不过Oracle的稳定是还不错,可扩展性也还很好。企业数据库不是闹着完的,一天在上面

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章