これについて一般的な質問があります。の前に大量のデータが挿入されている場合、フィールドや照合のデータ型を変更したいことがよくあります。これらの状況を考慮してください:
varchar照合をからに変換utf8_general_ciするlatin1_swedish_ci:最初の文字にはマルチバイト文字があり、2番目の文字は1バイト文字です。この変換は、保存されたレコードを正しく操作しますか?そして、この変換は既存のデータの量の削減(おそらく50%)につながりますか?の変換:データの量は正しく50%に減少
int(10)しsmallint(5)ますか?または 例:
int(10)tounsigned int(10)--to --totext、..。varchar(1000)varchar(20)char(10)
明らかなように、これらのアクションは、効率を高め、データの量を減らし、...
1,000,000レコードのテーブルがあるとします。このようなアクションを実行すると、保存されているデータに悪影響が及ぶかどうか、またはこのテーブルを含む将来の挿入と選択のパフォーマンスが低下するかどうかを知りたいです。
更新:
utf8エンコーディング文字セットをラテン語に変更することについて話すとき、もちろん私のフィールドの値は英語です(日本語がある場合、それらは失われることは明らかです)。この仮定で、結果のテーブルサイズとパフォーマンスについて質問しています。