我很好奇这是如何处理的。我有一个名为varchar(255)
的{{1}}列,其前10个字符已编入索引。
如果我创建一个按标题排序的MySQL查询,它是单独利用该索引还是忽略它,还是必须发出命令来使用该索引?
例如,假设我有两个title
个名为:
title
前10个字符是相同的,那么MySQL如何处理呢?它是否使用前10个字符的前缀索引,然后是逐行索引?
答案 0 :(得分:1)
嗯,said:
即使ORDER BY与之匹配,也可以使用索引 索引完全,只要索引的所有未使用部分和 所有额外的ORDER BY列都是WHERE子句中的常量。
但我强烈建议您使用EXPLAIN检查此查询,以查看优化程序将选择的路径。