mysql索引根基详解
MySQL——索引根基
本篇文章中用于测试索引创立的user表的构造如下:
什么是索引
索引(在 MySQL 中也叫“键key”)是储备引擎快速寻到记载的一种数据构造
——《高机能MySQL》
我们需要知道索引其实是一种数据构造,其功效是帮忙我们快速匹配查寻到需要的数据行,是数据库机能优化最常用的工具之一。其作用相当于超市里的导购员、书本里的名目。
索引类型
可以使用SHOW INDEX FROM table_name;
查看索引详情
1、主键索引 PRIMARY KEY
它是一种非凡的独一索引,不同意有空值。一样是在建表的时候同时创立主键索引。
留意:一个表只能有一个主键
2、独一索引 UNIQUE
独一索引列的值必需独一,但同意有空值。假如是组合索引,则列值的组合必需独一。
可以通过ALTER TABLE table_name ADD UNIQUE (column);
创立独一索引
可以通过ALTER TABLE table_name ADD UNIQUE (column1,column2)
;创立独一组合索引
3、一般索引 INDEX
最根本的索引,它没有任何限制。
可以通过ALTER TABLE table_name ADD INDEX index_name (column);
创立一般索引
4、组合索引 INDEX
组合索引,即一个索引包括多个列。多用于幸免回表查询。
可以通过ALTER TABLE table_name ADD INDEX index_name(column1, column2, column3);
创立组合索引
5、全文索引 FULLTEXT
全文索引(也称全文检索)是当前搜索引擎使用的一种关键技术。
可以通过ALTER TABLE table_name ADD FULLTEXT (column);创立全文索引
索引一经创立不克不及修改,假如要修改索引,只能删除重建。可以使用DROP INDEX index_name ON table_name;
删除索引。
索引设计的原则
1、适合索引的列是显现在where子句中的列,或者连接子句中指定的列
2、基数较小的类,索引结果较差,没有必要在此列创立索引
3、使用短索引,假如对长字符串列停止索引,应当指定一个前缀长度,这样能够节约大量索引空间
4、不要过度索引。索引需要额外的磁盘空间,并落低写操纵的机能。在修改表内容的时候,索引会停止更新乃至重构,索引列越多,这个时间就会越长。所以只保持需要的索引有益于查询即可。
相关参照 百分百源码网
以上就是mysql索引根基详解的具体内容,更多请关注百分百源码网其它相关文章!