我尝试用UTF-8和Latin1 Char集创建我的mysql表.当我使用Latin1时,我使用了索引,当我使用UTF-8时,在选择/限制记录时不使用索引.是否有我错过的Char集导致这种情况发生?
干杯
柯
仅当表达式的排序规则与索引列上的排序规则匹配时,才能使用索引.
如果表达式COERCIBILITY低于列的表达式(即2),则将列的排序规则转换为表达式的排序规则,并且不使用索引.
通常情况下,有文字COERCIBILITY的4和用户变量的3,所以这应该是没有问题的.
但是,如果你在一个混合不同的排序规则JOIN或者UNION,投顺序是不能保证.
在这种情况下,您应该为您正在投射的列提供显式排序规则(最有可能,您要转换latin1为UTF8),这应该是您要投射到的列的排序规则:
SELECT  *
FROM    utf_table
JOIN    latin_table
ON      utf_column = latin_column COLLATE UTF8_GENERAL_CI
| 归档时间: | 
 | 
| 查看次数: | 4014 次 | 
| 最近记录: |