我们刚刚从 MySQL 5.1 升级到 5.5。以前需要约 3 分钟才能将约 200k 行插入具有 3 个索引的 MyISAM 表中的插入脚本现在需要约 8 分钟!删除索引可以解决问题!?
读取(选择)很好(5.5 比 5.1 更快)
索引行为是否有所不同,或者可能需要调整一些奇怪的配置参数?
提前感谢您的任何指点!
系统信息:
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空值,
FIELD_7varchar(64) 默认空值,
FIELD_8varchar(64) 默认空值,
FIELD_9varchar(64) 默认空值,
FIELD_10varchar(16) 默认空值,
FIELD_11varchar(124) 默认空值,
FIELD_12varchar(124) 默认空值,
FIELD_13varchar(124) 默认空值,
FIELD_14varchar(32) 默认空值,
FIELD_15varchar(32) 默认空值,
FIELD_16varchar(64) 默认空值,
FIELD_17varchar(64) 默认空值,
FIELD_18varchar(64) 默认空值,
FIELD_19varchar(64) 默认空值,
FIELD_20char(1) 默认空值,
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_DATEtimestamp 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