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覆盖索引和前缀索引内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows)
这篇文章主要介绍了mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-09-09


最新评论