latin1文字のみを保存していますが、私は4 GBのテーブルを持ち、デフォルトの文字セットはutf8に設定されていました。 テストマシンでalter table文を使ってlatin1に変更しました。 差はなかった一方でlog_details.MYIは5%減少したインデックスファイルはデータファイルに記録は、私はいくつか質問していデフォルトの文字セットの重要性
をlog_details.MYD:
1)私は、生産上のテーブルを変更する必要がありますか?その価値はありますか?
2)選択速度が向上しますか?
3)デフォルトの文字セットをlatin1に変更すると、インデックスが長くなることがあります。任意 その他の利点は?
また、alter table文を使用してデフォルトのcharsetを変更した後、varcharカラムの型が自動的に変更されていることにも留意しました。 Item_ID
varchar(32)文字セットutf8どうすればこの問題を回避できますか?
mysql> create table char_test(id int, Item_ID varchar(32)) default charset = utf8;
Query OK, 0 rows affected (0.02 sec)
mysql> insert into char_test values (1, 'abc');
Query OK, 1 row affected (0.00 sec)
mysql> show create table char_test\G
*************************** 1. row ***************************
Table: char_test
Create Table: CREATE TABLE `char_test` (
`id` int(11) default NULL,
`Item_ID` varchar(32) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> alter table char_test default charset = latin1;
Query OK, 1 row affected (0.03 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> show create table char_test\G
*************************** 1. row ***************************
Table: char_test
Create Table: CREATE TABLE `char_test` (
`id` int(11) default NULL,
`Item_ID` varchar(32) character set utf8 default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec)