mysql索引相关

什么是索引?索引的类型有哪些?如何做索引?

1.什么是索引?

1
索引其实是一种数据结构,其功能是帮助我们快速匹配查找到需要的数据行,是数据库性能优化最常用的工具之一。其作用相当于超市里的导购员、书本里的目录。

2.索引的类型有哪些?

1
2
3
4
5
6
7
8
9
主键索引:PRIMARY KEY:它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引。注意:一个表只能有一个主键。

唯一索引:UNIQUE:唯一索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一.

普通索引:INDEX:这是最基本的索引,它没有任何限制

组合索引:INDEX:即一个索引包含多个列,多用于避免回表查询

全文索引:FULLTEXT:也称全文检索,是目前搜索引擎使用的一种关键技术

3.如何做索引

1
2
3
4
5
6
7
8
索引设计的原则
1)适合索引的列是出现在where子句中的列,或者连接子句中指定的列;

2)基数较小的类,索引效果较差,没有必要在此列建立索引;

3)使用短索引,如果对长字符串列进行索引,应该指定一个前缀长度,这样能够节省大量索引空间;

4)不要过度索引。索引需要额外的磁盘空间,并降低写操作的性能。在修改表内容的时候,索引会进行更新甚至重构,索引列越多,这个时间就会越长。所以只保持需要的索引有利于查询即可。