日期:2014-05-16  浏览次数:20436 次

SQL中索引求解
最近上课学到数据库的索引了,
于是我就弄了个一千五百万行的表来测试一下
加上一个非聚集索引和没加索引查询的速度都是一样的,
为什么?
不是说索引会提高查询速度吗?
加上索引的那一列的值是循环变量叠加的(数字1到15000000)
------解决方案--------------------
给你一把斧头和一个刀片,你用刀片去砍树,用斧头来切纸,然后说这两个工具都很烂,你觉得对不?索引也类似,没有最好,只有最合适
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

索引之所以快,是因为只需要访问这个表中的少量数据。

比如你说你的表有500万条数据,那么一般如果你只是访问其中的10%左右的数据,那么用索引才会显的比较快,比如:

select * from 表 where 加索引的那一列 = xxx

或者

select * from 表 where 加索引的那一列 between 123 and 456

这样查询才能快。

如果是:

select * from 表 速度肯定是一样的。



怪我没写清楚,有写where 索引列 between 1百万-2百万。。。效果一样


哦,那我知道了,你一共500万的数据,你筛选了between 1百万-2百万,也就是100万的数据,占到整个表数据量的20%,那么索引基本上就没什么优势了,所以系统自动选择了全表扫描,所以速度一样



大哥,我写的很清楚了,,   一千五百万数据啊,


没仔细看。

能把执行计划贴出来不,ctrl+m 快捷键