当前位置:Gxlcms > 数据库问题 > mysql 索引长度和区分度

mysql 索引长度和区分度

时间:2021-07-01 10:21:17 帮助过:23人阅读

count(distinct left(test,5))/count(*) from table;

求出一个浮点数,这个浮点数是逐渐趋向1的,网上找了个图片来分析下;

技术分享

这个地方观察到,当索引长度达到4的时候就已经趋向1了,所以长度设为4是最佳的,在大点增加的索引效果已经很小了,这个地方不是说必须接近1才行;

其实这个值达到0.1就已经可以接受了;总之要找一个平衡点;

 

还有一些特殊的字段常规方法用起不太顺畅,比如有一个url字段,绝大部分的url都是 http://www. 开头的

这种情况下索引长度取取到11都是无效的,需要更长的索引,那么有没有优雅的方式来解决呢;

第一种方法: 可以将数据倒序存入数据库;

第二种方法:对字符串进行crc32哈希处理;

两种方法都不错,当然要配合客户端程序完成;

mysql 索引长度和区分度

标签:ble   浮点数   解决   效率   公式   程序   随机   内存   color   

人气教程排行