您当前的位置: 首页 > 数据库教程 > MySQL教程 > 一个易被忽略的查询优化手段

一个易被忽略的查询优化手段

作者:guanchaofeng 来源:不详 发布时间: 2009-03-24 19:27 点击:
在数据仓库项目中,由于数据规模庞大,提高数据的查询效率是永恒的主题,常见的优化手段有: 1、 硬件优化,提高机器性能,增加硬件等 2、 优化查询语句,将限定性强的where条件放前,用exists代替in操作等 3、 优化索引,建立有效的索引并检查和修复缺少的统

一个易被忽略的查询优化手段

在数据仓库项目中,由于数据规模庞大,提高数据的查询效率是永恒的主题,常见的优化手段有:

  1、 硬件优化,提高机器性能,增加硬件等

  2、 优化查询语句,将限定性强的where条件放前,用exists代替in操作等

  3、 优化索引,建立有效的索引并检查和修复缺少的统计信息等

  4、 数据库系统文件优化,将数据文件、索引文件、日志文件放置在不同的磁盘上,提高并行度等除了以上方法外,还有一种很重要但易被大家忽略的方法:大表数据分割。当一个表的数据规模达到数亿条时,索引已基本发挥不了作用:建立索引要花费大量时间,查询时由于要扫描大的索引表也要花费大量时间。为了发挥索引的作用,可以将大表按照某个字段拆分为若干个小表。

  例如,国内某大型保险公司,其有36家分公司,一年的保单明细表(f_policy)大概有2亿条记录,两年的数据超过4亿条,如果在f_policy上作一次查询,响应非常慢,可以考虑将f_policy按照机构拆分为36个同构的小表,在作整个保单明细表的查询时,可以使用union all操作合并数据,或者建立一个union all的视图,查询效率大大提高。并且,作这样的拆分非常有用,因为经常会有只查询某个分公司数据的需求。
分享到:
本文"一个易被忽略的查询优化手段"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4