MYSQL前缀索引
来源:互联网 发布:js tip 提示框 样式 编辑:程序博客网 时间:2024/04/30 04:42
建立前缀索引的语法为:
ALTERTABLEtable_nameADDKEY(column_name(prefix_length));
别的文章中提到:
MySQL 前缀索引能有效减小索引文件的大小,提高索引的速度。但是前缀索引也有它的坏处:MySQL 不能在 ORDER BY 或 GROUP BY 中使用前缀索引,
也不能把它们用作覆盖索引(Covering Index)。
下面总结一下什么情况下使用前缀索引:
- 字符串列(varchar,char,text等),需要进行全字段匹配或者前匹配。也就是=‘xxx’ 或者 like ‘xxx%'
- 字符串本身可能比较长,而且前几个字符就开始不相同。比如我们对中国人的姓名使用前缀索引就没啥意义,
因为中国人名字都很短,另外对收件地址使用前缀索引也不是很实用,因为一方面收件地址一般都是以XX省开头,
也就是说前几个字符都是差不多的,而且收件地址进行检索一般都是like ’%xxx%’,不会用到前匹配。相反对外国人
的姓名可以使用前缀索引,因为其字符较长,而且前几个字符的选择性比较高。同样电子邮件也是一个可以使用前缀索引的字段。 - 前一半字符的索引选择性就已经接近于全字段的索引选择性。如果整个字段的长度为20,索引选择性为0.9,
而我们对前10个字符建立前缀索引其选择性也只有0.5,那么我们需要继续加大前缀字符的长度,但是这个时候前缀索引的优势已经不明显,没有太大的建前缀索引的必要了。
1 0
- mysql 前缀索引
- 认识mysql前缀索引
- MySQL 前缀索引
- Mysql前缀索引
- mysql前缀索引
- mysql前缀索引
- MYSQL前缀索引
- mysql前缀索引
- Mysql前缀索引
- mysql前缀索引及其选择
- MySQL前缀索引长度方法
- MySQL前缀索引和索引选择性
- mysql前缀索引的索引选择性
- MySQL前缀索引和索引选择性
- MySQL索引之前缀索引和索引选择性
- MySQL索引之前缀索引和索引选择性
- Mysql中的联合索引、前缀索引、覆盖索引
- MySQL索引之前缀索引和索引选择性
- 笔记--ThinkPHP模板判断之if elseif else
- 离职京东的自我总结
- iOS开发中曾经踩过的坑
- 用SVN的SubWCRev管理同步项目版本号
- <%@include%> 和 <jsp:include> 的区别
- MYSQL前缀索引
- 错误Resources$NotFoundException: Resource ID #0x7f080004
- 【Leetcode】之Construct Binary Tree from Preorder and Inorder Traversal
- HTML5-布局篇( 总结 )
- #140 Fast Power
- My First Blog
- Linux学习笔记
- 调整数组使奇数全部都位于偶数前面。
- Android恢复出厂设置源码分析,基于Android 6.0