关于聚集索引的工作体会

原创 2006年06月20日 09:47:00
        合理的使用聚集索引,可以极大的提高你的查询速度,我在去年接手公司维修网的时候,发现维修网的查询统计功能只能统计一周的数据,超过一周则出现连接超时,经过把SqlCommand连接时间设定为10分钟后,数据可以查出来,但一个月的数据要耗时1分钟到2分钟左右,查询3个月的时间更让人难以忍受,经过与用户沟通后得知,用户在查询前会选择维修日期作为查询条件,我查了一下数据库后发现是10个表的连接返回一个结果集,数据主表的数据量为70W条左右,FID(主键非自增)和维修日期(datetime)是主表的索引。我首先将维修日期索引删除,然后在这张主表里新建了一个FIndexDate臃余字段,类型为varchar类型,用来保存精确到日的维修日期,为了减少风险,我没有修改程序而是直接在表里建了个FOR UPDATE,FOR INSERT触发器,将维修日期的年月日信息保存到该字段中,然后将该字段设置为聚集索引,然后查询速度一下提高了很多,一般一月是1W条左右的记录,原来需要用时1分钟以上,建立后一般在5秒以内,大多为2,3秒就可以得到结果,36627条记录查询时间为8秒。但这样做有个弊端是,如果使用微软asp.net自带的datagrid翻页,速度会很慢,需要自己写翻页才可以。但因为用户都是查出来然后导出为excel分析,所以就不需要考虑此问题了。还有一个问题是,每过一段时间,当数据增长很多的时候,有可能会需要重建一下索引,另外经过测试建立聚集索引的时候,无论是升序还是降序对查询速度没有影响。

聚集索引和非聚集索引的区别理解

对于大多数的非专业的数据库操作人员来讲,比如我们这些软件开发人员,在很大程度上都搞不清楚数据库索引的一些基本知识,有些是知其一不知其二,或者是知其然不知其所以然。造成这种情况的主要原因我觉的是行业原因...
  • liu_ben_qian
  • liu_ben_qian
  • 2013年01月06日 14:28
  • 13603

必看的主键与聚集索引的关系

http://blog.csdn.net/buynider/article/details/6057609 为列创建索引实际上就是为列进行排序,以方便查询.建立一个列的索引,就相当与建立一个...
  • HkEndless
  • HkEndless
  • 2014年09月10日 09:52
  • 1449

主键和聚集索引,单列索引和多列索引

1. 主键与聚集索引 首先澄清一个概念,主键并不等于聚集索引。(这不是废话么,如果是同一个东西,微软也不会叫两个不同的名字了) 一个表只能有一个聚集索引,数据在物理上是按照聚集索引的顺序来存放的。 主...
  • chinaoarq
  • chinaoarq
  • 2014年03月28日 15:33
  • 1101

MySQL索引 聚集索引

  • 2017年10月17日 14:48
  • 566KB
  • 下载

唯一非聚集索引变量传入时索引失效解决方案

  • 2015年07月21日 17:24
  • 52KB
  • 下载

Sql Server之旅——第三站 解惑那些背了多年聚集索引的人

说到聚集索引,我想每个码农都明白,但是也有很多像我这样的猥程序员,只能用死记硬背来解决这个问题,什么表中只能建一个聚集索引, 然后又扯到了目录查找来帮助读者记忆。。。。问题就在这里,我们不是学文科,...
  • xyw591238
  • xyw591238
  • 2016年06月24日 15:04
  • 137

SQL Server的非聚集索引中会存储NULL吗?

SQL Server的非聚集索引中会存储NULL吗? 这是个很有意思的问题,下面通过如下的代码,来说明,到底会不会存储NULL。 --1.建表 if OBJECT_ID('t1') is no...
  • yupeigu
  • yupeigu
  • 2013年11月11日 19:44
  • 1492

通过非聚集索引让select count(*) from 的查询速度提高几十倍、甚至千倍

通过非聚集索引,可以显著提升count(*)查询的性能。 有的人可能会说,这个count(*)能用上索引吗,这个count(*)应该是通过表扫描来一个一个的统计,索引有用吗? ...
  • gtosky4u
  • gtosky4u
  • 2015年12月02日 14:26
  • 738

mysql聚集索引的优缺点

聚簇索引并不是一种单独的索引类型,而是一种数据存储方式(不是数据结构,而是存储结构),具体细节依赖于其实现方式,但innodb的聚簇索引实际上是在同一个结构中保存了btree索引和数据行。   当表...
  • caomiao2006
  • caomiao2006
  • 2016年08月07日 03:35
  • 1568

SQLServer2012 (非)聚集索引存储探究

SQLServer2012 (非)聚集索引存储探究 Author:zfive5(zidong) Email:zfive5@163.com 引子 由于写了前一篇文字《SQLServer2012 表IAM...
  • zfive5
  • zfive5
  • 2014年10月17日 21:37
  • 1772
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于聚集索引的工作体会
举报原因:
原因补充:

(最多只允许输入30个字)