在包含唯一值的列上添加索引?

7cjasjjr  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(333)

我有一列,其中包含唯一的值和完整的表扫描将永远采取。
据我所知
如果使用唯一索引,它将从表的开头开始搜索,然后在找到值时停止
而非唯一索引将在where语句的最近范围内搜索,这就是我所需要的
如果我有包含

Maple Louie    
Raphael Gudino    
Nereida Tankersley    
Alina Colletti    
Jeane Lamm    
Shonta Forsman    
Ciara Cardamone

如果我使用非唯一索引,它会在以下范围内搜索

where name = Jeane Lamm

数据库是否只搜索以j字母开头的名字?
或者它会做全扫描??

fjnneemd

fjnneemd1#

尽管索引可以完全扫描,但对于许多操作来说,这并不是它们真正的工作方式。
当你有一个平等,如 where name = 'Jeane Lamm' ,然后索引进行查找。这比扫描快得多。
索引最常见的结构类似于二叉树,因此搜索特定值的速度非常非常快。这就是为什么索引可以大大提高查询性能的原因之一。

相关问题