2 fanfusuzi2008123 fanfusuzi2008123 于 2015.06.10 22:16 提问

主键和索引哪个查询效率更快??

1.有次面试被问到,主键和索引哪个查询更快?
有没有哪个高手,能给详细解释下。。。在网上查了下,很多都只是给解释一统,簇聚索引和非簇聚索引,但没有特别明确给出答案。
2.还有个问题是,如果在sql语句使用了函数,还能否给字段建立索引。。
求大侠赐教!

4个回答

gamefinity
gamefinity   Rxr 2015.06.11 05:38

1.1. 主键和索引都有很多种实现方式,对于同一种实现方式来说,速度是一样的
1.2. 主键通常使用聚簇索引。可以认为聚簇索引是一种Hash索引,因此是比较快的
2.用了函数能否建索引?当然是可以的。使用函数作为条件的查询能否用到索引?应该是用不到

caozhy
caozhy   Ds   Rxr 2015.06.10 22:30

(1)主键都是加上索引的。主键的索引是唯一索引,不同的数据库可能不同,有些会有非簇聚索引
(2)当然可以,定义了索引不一定在查询中使用索引,最坏的情况是相当于索引不存在

frank_20080215
frank_20080215   2015.06.11 07:57

主键查询效率比索引更快。因为索引有很多种,不能保证都是唯一的。主键必须是唯一的

edouardzyc
edouardzyc   2015.06.11 09:23

创建主键的时候会创建唯一索引,查询的时候是索引起到了优化的作用
使用了函数会导致已经创建的索引失效

Csdn user default icon
上传中...
上传图片
插入图片