Mysql覆盖索引和前缀索引的实战
作者:如果决定要走又何必挽留
SQL是优化数据库的一个重要手段,本文主要介绍了Mysql覆盖索引和前缀索引的实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一.SQL提示
SQL提示,是优化数据库的一个重要手段,简单来说,就是在SQL语句加入一些人为的提示来达到
二.覆盖索引
尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到),减少select*
知识小贴士:
using index condition :查找使用了索引,但是需要回表查询数据 using where;using index:查找使用了索引,但是需要的数据都在索引列中能找到,所以不需要回表查询数据
三.前缀索引
当字段类型为字符串(varchar,text等)时,有时候需要索引很长的字符串,这会让索引变得很大,查询时,浪费大量的磁盘IO,影响查询效率。此时可以只将字符串的一部分前缀,建立索引,这样可以大大节约索引空间,从而提高索引效率
语法
create index idx_XXXX on table_name(column(n));
前缀长度
可以根据索引的选择性决定,而选择性是指不重复性的索引值
前缀索引的查询流程
id是主键
在eamil前五个字符构建一个前缀索引
到此这篇关于Mysql 覆盖索引和前缀索引的实战的文章就介绍到这了,更多相关Mysql覆盖索引和前缀索引内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!