MySQL索引注意事项

索引的优缺点

优点:

大大加快了查询的速度,快速定位到你要查找的记录。

缺点:

1.索引虽然加快的查询的速度,但是却降低了表的更新速度,因为每当数据库更新数据的时候,数据库和索引文件都要发生变动。索引其实也是一张表,内部存放的是索引记录对应的数据的指针。
2.会占用额外的存储空间。如果数据库特别大建立索引,索引文件会特别臃肿。

索引的种类

  1. 普通索引 (INDEX)
  2. 唯一索引(UNIQUE,所有的索引都不能重复,但可以为空)
  3. 主键索引(primary key,不可以重复,但不能为空)
  4. 组合索引(最左前缀原则)
  5. 全文索引 (fulltext index 可以针对值中的某个单词,但效率确实不敢恭维)

索引的创建

//普通索引
alter table table_name add index index_name (column_list) ;
//唯一索引
alter table table_name add unique (column_list) ;
//主键索引
alter table table_name add primary key (column_list) ;

索引的注意事项

  1. 参与了计算的查询
  2. 有函数运算
  3. 存在like查询,只能是”XXX%”的形式
  4. 列中不能包含NULL,组合索引的列内不能含有NULL
  5. 包含正则表达式
  6. 存在字符串与数字比较
  7. 存在or,必须or的两边字段都使用索引
  8. 不要使用NOT IN、<>、!=,但是可以使用但<,<=,=,>,>=,BETWEEN,IN

参考博客:https://www.cnblogs.com/heyonggang/p/6610526.html

发表评论