看到平均执行时间13.773s,意识到自己的认知漏洞了,一直认为有个记录总数的地方,直接返回这个数就好了
主键是聚集索引,所以不选择主键,会选择你的索引里面长度最短的那个,如果你主键加了索引,那是非聚集索引,因为索引长度最短,所以会选择主键索引
加索引前,key_len为82
加索引后,key_len为4
给主键加上唯一索引
ALTER TABLE 表 ADD INDEX `u_idx_id` (`id`) USING BTREE;
加索引后执行时间为4s左右
问题1、为什么key的长度会显著影响遍历速度?
前后两个查询计划中最显著的区别就是 key_len,一个长度为4字节,一个为82字节,这导致了count查询速度的巨大差异。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)