具有不同排序规则的 VARCHAR 列上 Mysql JOIN 的性能
Performance for Mysql JOINs on VARCHAR columns with different collation
我无法在文档中轻松找到该信息:
我所有的 table 都是从 utf8_bin 开始的,现在我有一个 table,其中有一列我希望更改为utf8_mb4_900_as_ci 并考虑 utf8_mb4_900_ai_ci.
我的问题:这会在索引使用和性能方面对具有 utf8_bin 字段的 JOIN 产生负面影响吗?
如果您的更改导致具有不同 COLLATIONs
的两列之间出现 JOIN
,性能可能会受到 极大的影响。
如果两列的字符集和排序规则完全相同,JOIN
可以在一列或另一列上使用 INDEX
。
如果列 CHARACTER SET
不同(因此 COLLATION
),则一列 可能 可转换为另一列。
(请举出具体例子)
我无法在文档中轻松找到该信息:
我所有的 table 都是从 utf8_bin 开始的,现在我有一个 table,其中有一列我希望更改为utf8_mb4_900_as_ci 并考虑 utf8_mb4_900_ai_ci.
我的问题:这会在索引使用和性能方面对具有 utf8_bin 字段的 JOIN 产生负面影响吗?
如果您的更改导致具有不同 COLLATIONs
的两列之间出现 JOIN
,性能可能会受到 极大的影响。
如果两列的字符集和排序规则完全相同,JOIN
可以在一列或另一列上使用 INDEX
。
如果列 CHARACTER SET
不同(因此 COLLATION
),则一列 可能 可转换为另一列。
(请举出具体例子)