什么是索引?
索引,指将文献中具有检索意义的事项(可以是人名、地名、词语、概念、或其他事项)按照一定方式有序编排起来,以供检索的工具书。.
索引的作用?
在数据库中索引的作用可就非常强大了。
若一家大公司有一张员工表,现在你需要查询名为“zhangsan”的员工;若没有索引,是不是就是对表中每一行查找“name”是不是为“zhangsan”。技术确实没问题,业务确实gg。
“索引”派上用场的时候到了,使用索引的全部意义就是:通过缩小一张表中需要查询的记录/行的数目来加快搜索的速度。
索引类型
MySQL中有以下索引类型:
UNIQUE唯一索引 该索引其含义是被标定义唯一索引的列,不允许出现重复的数据, 但可以有NULL值。
INDEX普通索引允许出现相同的索引内容,平时创建的索引通常就是普通索引,利用提升查询数据性能
PRIMARY KEY主键索引 不允许出现相同的值,且不能为NULL值,一个表只能有一个primary_key索引,常见于ID字段
fulltext index 全文索引 上述三种索引都是针对列的值发挥作用,但全文索引,可以针对值中的某个单词,比如一篇文章中的某个词,然而并没有什么卵用,因为只有myisam引擎以及英文支持,并且效率让人不敢恭维,要全文搜索还是建议使用Luence、Solr、ES等方案,更专业且强大一些。