gpt4 book ai didi

mysql - Utf8 和 latin1

转载 作者:行者123 更新时间:2023-11-29 07:19:01 24 4
gpt4 key购买 nike

在一个包含大量数据的数据库中,一半的表都设置为 Latin 1。在这些 Latin 1 表中,如果行需要文本输入(任何非整数),则大多数行都设置为 utf8。

一切都是英文的。

如果我需要将这些 Latin 1 表转换为 utf8,我的情况有多糟糕?

最佳答案

首先,澄清一下:你说“大多数都设置为utf8”;我假设您的意思是“大多数都设置为utf8”?

tablelatin1 的含义只是一个默认值。对性能等无影响。

如果您在未指定 CHARACTER SET utf8 的情况下执行 ALTER TABLE .. ADD COLUMN ..,则会出现唯一的“危害”。

你说所有的文字都是英文?那么latin1和utf8就没有编码区别了。当您有重音字母等时,可能会出现问题。

存在一个性能问题:如果您在 VARCHAR 列上JOIN 两个表,但是 CHARACTER SETCOLLATION 对于两个表中的该列不同,它会比那些设置相同时慢。 (听起来你没有这个问题。)再次注意,表的默认值不相关,只有列设置本身。

是的,将表默认设置为 utf8 会更“干净”。这应该是一种不转储的方法,但是一次更改一个表:

ALTER TABLE t CONVERT TO CHARACTER SET utf8;

这将更改表默认任何尚未为 utf8 的列。

关于mysql - Utf8 和 latin1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57356206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com