电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

关系数据库的查询优化策略

关系数据库的查询优化策略_第1页
1/15
关系数据库的查询优化策略_第2页
2/15
关系数据库的查询优化策略_第3页
3/15
关系数据库的查询优化策略 1 引言 随着计算机应用技术的不断普及和发展,数据库系统正越来越多的走进人们的日常生活。在要求查询结果正确无误的同时,人们越来越关心查询的效率问题。影响查询效率的因素很多,诸如处理器的速度、I/O速度、存储器的容量、操作系统、采取何种的数据库服务系统等。但是对于特定服务器来说查询的效率主要取决于DBA(数据库管理员)所给定的查询语句。 2 合理使用索引 数据库服务器对数据进行访问一般采用下面的两种方式:①索引扫描,通过索引访问数据;②表扫描,读表中的所有页。当对一个表进行查询时,如果返回的行数占全表总行数的10%到 15%时,使用索引可以极大的优化查询的性能。但是如果查询涉及到全表 40%以上的行时,表扫描的效率比使用索引扫描的效率高。在具体使用的过程中,要结合实际的数据库和用户的需求来确定要不要索引以及在什么字段上建立什么样的索引。下面给出一些通用的规则: 1. 在经常用作过滤器或者查询频率较高字段上建立索引; 2. 在SQL语句中经常进行GROUP BY、ORDER BY的字段上建立索引; 3. 在不同值较少的字段上不必要建立索引,如性别字段; 4. 对于经常存取的列避免建立索引; 5. 用于联接的列(主健/外健)建立索引; 6. 在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定。 2 .1 聚集索引 聚集索引是指行的物理顺序与行的索引顺序相同的索引。一个表只能有一个聚集索引。非聚集索引是指定表的逻辑顺序的索引,行的物理顺序与索引顺序不尽相同,每个表可以有多个非聚集索引。缺省情况下建立的是非聚集索引,但是在一些特定的情况下建立非聚集索引会极大的缩短查询的时间。有大量重复值、且经常有范围查询(between,>,<,>=,<=)和orderby、groupby发生的列,可考虑建立聚集索引,而对于频繁修改的列、或者返回小数目的不同值的这些情况应该避免建立聚集索引。 使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表扫描。比如要返回 2004年 4月 1日到 2004年 10月 1日之间的数据,如果在日期的字段建立了聚集索引,那么数据本来就是按照日期的顺序排列的,只要找到开始和结尾日期的数据就可以了,可以极大的节省时间。而如果使用非聚集索引,必须查到这个时间段中每个日期对应的位置,然后在根据位置存取数据,明显效率很低。显而易见,使用聚集索引的优势很明显。一 个 表 只 能 按 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

关系数据库的查询优化策略

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部