Оператор вставки mysql innodb занимает очень много времени - PullRequest
1 голос
/ 02 ноября 2010

У меня есть таблицы innodb (все они находятся в одном файле, и этот файл стал очень большим, около 8 ГБ) когда я вставляю строку в одну эту таблицу (эта таблица содержит около 1 миллиона записей), этот оператор вставки занимает около 30 секунд !!! Есть ли способ улучшить эту проблему? любая идея высоко ценится

CREATE TABLE userdata ( userno blob NOT NULL, amount double(11,2), active enum('0','1') default '0', used enum('0','1') default '0', ActionTime timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, Bonus enum('0','1') default '0', UserType enum('Perm','Temp') NOT NULL default 'Perm', serial_number bigint(20) NOT NULL default '0', PRIMARY KEY (userno(50)), KEY AIX (active), KEY UIX (used), KEY Id (userno(20),active), KEY UI (userno(50)), KEY SNI (serial_number) ) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 Ответ

1 голос
/ 02 ноября 2010

Наличие BLOB как PRIMARY KEY - не лучшая идея.

Не могли бы вы изменить его тип данных на INT?

...