开发工具:
文件大小: 182kb
下载次数: 0
上传时间: 2019-07-04
详细说明:数据库性能调优技术1索引调优,详细讲述了关于索引调优的方法建议资源由www.eimhe.com美河学习在线收集提供
4.非聚集索引的作用
每张表只可能一个聚集索引,聚集索引用来纽织真实数据。语句“ create
table employee (id int cluster primary key, name varchar (20), addr
varchar(20))”。表 employee的数据用id来组织。如果要查找id-1000的员工
记录,只要用索引键(1000)命中该聚集索引。但是,对于要査找name=’张三
的员工记录就不能使用该索引了,需要进行仝表扫描,对于每一条记录判断是否
满足name=’张三’,这样会导致查询效率非常低。
要使用聚集索引,必需提供id,我们只能提供nane,于是需要引入一个辅助
结构实现name到id的转换,这就是非聚集索引的作用。该非聚集索引的键是
name
值是id。于是语句“ select* from employee where name=’张三’”
的执行流程是:通过键(’张三’)命中非聚集索引,得到对应的id值3(假
设’张三’对应的id为3),然后用键(3)命中聚集索引,得到相应的记录。
5是不是使用非聚集索引的查询都需要进行聚集的查询?
不是的,虽然在上一点中查询转换为聚集索引的查找,有时候可以只需使
用非聚集索引
创建表并创建相应的索引: create table t1(c1int,c2int,c3int); create
index itIc2c3ont1(c2,c3)。查询语句为: select c3 from t1 where c2=1。
因为索引itlc2c3(c2,c3)覆盖查询语句中的列(c2,c3)。所以,该查洵语句的执
行流程为:通过索引键(1,-∞)命屮索引it1c2c3,对于该记录直接返回c3对应
的值,继续向后扫描,如果索引记录中cl还是等于1,那么输岀c3,以此类推,
直到出现第一条c1不等于1的索引记录,结束查询。
6.创建索引的规则
创建索引首先要考虑的是列的可选择性。比较一下列中唯一键的数量和表中
记录的行数,就可以判断该列的可选择性。如果该列的“唯一键的数量/表中记
录行数”的比值越接近于1,则该列的可选择行越高。在可选择性高的列上进行
査询,返回的数据就较少,比较适合索引查询。相反,比如性别列上只有两个值,
可选择行就很小,不适合索引查询。
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.