MySQL 5.1 から 5.5 にアップグレードしました。3 つのインデックスを持つ MyISAM テーブルに最大 20 万行を挿入するのに最大 3 分かかっていた挿入スクリプトが、現在では最大 8 分かかります。インデックスを削除すると問題が解決します!?
読み取り (選択) は問題ありません (5.1 よりも 5.5 の方が高速です)
インデックスの動作に何か違いがありますか、それとも微調整が必要な奇妙な設定パラメータがあるのでしょうか?
ご指摘ありがとうございます。
システム情報:
Fedora 17、Mysql 5.5.29-log、16GB RAM
MyISAM キー バッファ = 4GB
MyISAM インデックス サイズ = ~800 MB
MyISAM テーブル サイズ = 4.4 GB
INNODB バッファ プール = 8GB
INNODB テーブル + インデックス サイズ = ~12GB
- リクエストごとのテーブル定義は次のとおりです。
テーブルを作成MY_TABLE
( MY_TABLE_IDint(10) unsigned NOT NULL AUTO_INCREMENT、
FIELD_1char(1) NOT NULL、
FIELD_2int(11) NOT NULL、
FIELD_3varchar(64) NOT NULL、
FIELD_4varchar(64) DEFAULT NULL、
FIELD_5varchar(64) DEFAULT NULL、
FIELD_6varchar(8) DEFAULT NULL、
FIELD_7varchar(64) DEFAULT NULL、
FIELD_8varchar(64) DEFAULT NULL、
FIELD_9varchar(64) DEFAULT NULL、
FIELD_10varchar(16) DEFAULT NULL、
FIELD_11varchar(124) DEFAULT NULL、
FIELD_12varchar(124) DEFAULT NULL、
FIELD_13varchar(124) DEFAULT NULL ,
FIELD_14varchar(32) デフォルト NULL,
FIELD_15varchar(32) デフォルト NULL,
FIELD_16varchar(64) デフォルト NULL,
FIELD_17varchar(64) デフォルト NULL,
FIELD_18varchar(64) デフォルト NULL,
FIELD_19varchar(64) デフォルト NULL,
FIELD_20char(1) デフォルト NULL,
FIELD_21文章、
FIELD_22text,
FIELD_23text,
FIELD_24varchar(32) DEFAULT NULL,
FIELD_25varchar(64) DEFAULT NULL,
FIELD_26varchar(16) DEFAULT NULL,
FIELD_27varchar(64) DEFAULT NULL,
FIELD_28varchar(64) DEFAULT NULL,
FIELD_29text,
FIELD_30int(11) NOT NULL,
FIELD_31varchar( 16) DEFAULT NULL,
FIELD_32varchar(16) DEFAULT NULL,
CREATION_DATEint(11) NOT NULL,
MODIFICATION_DATEタイムスタンプ NULL DEFAULT NULL,
PRIMARY KEY ( MY_TABLE_ID),
KEY I_FIELD_4( FIELD_4),
KEY I_FIELD_2( FIELD_2),
KEY I_FIELD_3( FIELD_3) ) ENGINE=MyISAM DEFAULT CHARSET=latin1