发布网友 发布时间: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的创建和修改,删除跟表的操作相当.