数据库里的索引作用

来源:百度知道 编辑:UC知道 时间:2024/05/04 14:29:13
网上说索引相当与目录的作用,提高检索的速度,索引是如何办到这些的呢?能不能举个实际的例子说明下,索引到底如何工作的???
(希望不要复制转帖些没用的东西,谢谢~)
能不能帮忙写下具体的sql该怎么写,如何定义以及使用索引?
谢谢~

大家能不能就直接讲下如何创建,再如何使用这个索引,举个简单例子,理论上的东西太抽象了。。。。。。。。。。。。

比如:根据用户名和密码查询该用户的购物纪录?
那么数据库数据库中有2个表!
一个是用户信息!另一个是购物纪录!
那么我们创建索引,关联用户表和购物纪录表!
怎么关联? :在购物纪录表创建外键引用用户的ID
那么根据用户名和密码查询到该用户的ID,在根据此ID 检索购物纪录表的纪录!这样就能快速的定位到该用户的购物纪录了!
就相当与书的目录一样,根据目录的页码直接翻到你想看的地方去!

靠~~~ 楼下的!主键不能创建索引吗?你难道创建了主键还另外创建索引?
在说关联,难道只有主键关联? 你没听过外键关联吗?

索引的作用就象书的目录,给出条件查找目录找出所需要的内容
主键索引和聚合索引

我们来看:(gid是主键,fariqi是聚合索引列):

select top 10000 gid,fariqi,reader,title from tgongwen
用时:196 毫秒。 扫描计数 1,逻辑读 289 次,物理读 1 次,预读 1527 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by gid asc
用时:4720毫秒。 扫描计数 1,逻辑读 41956 次,物理读 0 次,预读 1287 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc
用时:4736毫秒。 扫描计数 1,逻辑读 55350 次,物理读 10 次,预读 775 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi asc
用时:173毫秒。 扫描计数 1,逻辑读 290 次,物理读 0 次,预读 0 次。

select top 10000 gid,fariqi,reader,