Home | Favorite | Sitemap | search
  • 成功栏目导航
  • 成功教育学
  • 成功创业者
  • 成功投资者
  • 成功管理学
  • 成功心理学
  • 领袖栏目导航
  • CEO
  • CFO
  • CIO
  • CTO
  • CKO
  • CHO
  • CMO
  • CNO
  • CQO
  • CBO
  • CCO
  • CVO
  您现在的位置: 成功领袖网 >> 首席技术官CTO >> 技术方案 >> 文章正文
案例学习:如何让你的SQL运行得更快

  人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结:

  为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为(< 1秒)。

  测试环境--

  主机:HP LH II

  主频:330MHZ

  内存:128兆

  操作系统:Operserver5.0.4

  数据库:Sybase11.0.3

  一、不合理的索引设计

  例:表record有620000行,试看在不同的索引下,下面几个 SQL的运行情况:

  1.在date上建有一非个群集索引

select count(*) from record where date >
19991201 and date < 19991214and amount >
2000 (25秒)
select date,sum(amount) from record group by date
(55秒)
select count(*) from record where date >
19990901 and place in (BJ,SH) (27秒)

  分析:

  date上有大量的重复值,在非群集索引下,数据在物理上随机存放在数据页上,在范围查找时,必须执行一次表扫描才能找到这一范围内的全部行。

  2.在date上的一个群集索引

select count(*) from record where date >
19991201 and date < 19991214 and amount >
2000 (14秒)
select date,sum(amount) from record group by date
(28秒)
select count(*) from reco

[1] [2] [3] [4] [5] 下一页

  • 上一篇文章: 十条减少软件缺陷的真经
  • 下一篇文章: 10招儿让你的UPS效能最大化
  • 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】
    【网友评论】
    “灰鸽子”完整猎杀方案
    Oracle数据库最大可用性体系结…
    赛门铁克Enterprise Vault可用…
    QA组织的建立
    • 【郑重声明】
    • 免责声明:成功领袖网登载此文出于传递信息之目的,绝不意味着成功领袖网赞同其观点或证实其描述。以上内容仅供网友学 习与交流,无意侵犯版权。如有侵犯您的利益,请告知。我们将尽快删除。
    基本信息
    • 作者:佚名
    • 来源:不详
    • 阅读:
    • 时间:2007-7-12

    相关信息
    • 你应当如何学习C++以及编程
      黑客案例——浏览器执行exe文件的探讨

    点击排行
    • 普通文章 当技术插上资本的翅膀
      普通文章 当搜索遇到商业智能 BI搜索有何…
      普通文章 教你三点如何判断ERP软件是否合…
      普通文章 江民杀毒软件KV2007 新技术
      普通文章 赛门铁克Enterprise Vault可用…
      普通文章 西门子网站利用李宇春作弊
      普通文章 百度的图书战略
      普通文章 微软承诺不强制用户升级IE7 继…
      普通文章 微软欲颠覆PC机外观设计迎合新…
      推荐文章 QA组织的建立
      普通文章 Telenor Mobile与诺基亚合作 优…
      普通文章 微软联手惠普摩托罗拉等推一体…
    评论排行
    • 推荐文章 QA组织的建立
    关于我们 | 联系方式 | 合作伙伴 | 友情链接 | 站点地图 | 网站大事记 | 留言反馈 | 老网站
    为了使本网站能够得到更好的浏览效果,请您使用IE6.0或以上版本浏览 (For better browsing effect,Recommend to use IE6.0 or above)
    版权所有 成功领袖网 www.21cbpc.com 最佳分辨率 1024×768 E-mail:21cbpc@gmail.com 灵意设计全程网络策划 备案序号:粤ICP备05135149号