数据库里的索引作用

发布网友 发布时间:2022-04-22 08:21

我来回答

4个回答

热心网友 时间:2022-05-02 07:32

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

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

热心网友 时间:2022-05-02 08:50

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

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

select top 10000 gid,fariqi,reader,title from tgongwen
用时:196 毫秒。 扫描计数 1,逻辑读 2 次,物理读 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,title from tgongwen order by fariqi desc
用时:156毫秒。 扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。

从以上我们可以看出,不排序的速度以及逻辑读次数都是和“order by 聚集索引列” 的速度是相当的,但这些都比“order by 非聚集索引列”的查询速度是快得多的。
同时,按照某个字段进行排序的时候,无论是正序还是倒序,速度是基本相当的。

参考资料:http://www.vckbase.com/document/viewdoc/?id=1308

热心网友 时间:2022-05-02 10:25

楼上错了!!!!!! 关联是用主键做表关联

以表里的某个没有重复数据的列创建索引

索引的作用就是以该索引作为where后的条件执行SQL速度超快
数据在10万以下看不出效果..
我上次给移动导数据 四千万条 无索引时执行了3天
我创建索引后 45分执行完毕!!!

索引的作用介绍完毕..我要分!!!

热心网友 时间:2022-05-02 12:16

通俗的理解可以为,一般ORACLE做一次查询是需要全库扫描的,如果安装了索引,那等于你看书,知道哪个章节一样,这样搜索的范围就小了.
index的创建和修改,删除跟表的操作相当.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com