これについて一般的な質問があります。の前に大量のデータが挿入されている場合、フィールドや照合のデータ型を変更したいことがよくあります。これらの状況を考慮してください:
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エンコーディング文字セットをラテン語に変更することについて話すとき、もちろん私のフィールドの値は英語です(日本語がある場合、それらは失われることは明らかです)。この仮定で、結果のテーブルサイズとパフォーマンスについて質問しています。