BRat
o_0
Проблема со вставкой
С поражающей периодичностью в slow-логе появляются след. запросы -
Count: 1611 Time=6.80s (10958s) Lock=0.66s (1056s) Rows=0.0 (0), fighting[fighting]@localhost
insert into `GAME` set `CREATED` = 'S', `GOT_EXP` = null, `GOT_LEVEL` = null, `GOT_LIFEUNITS` = null, `GOT_POWER` = null, `RIVAL_EXTID` = 'S', `RIVAL_UID` = null, `TYPE_UID` = N, `USER_UID` = N, `USER_WIN` = null
Создание таблицы -
Количество записей в таблице -
mysql> SELECT COUNT(*) FROM GAME;
+----------+
| COUNT(*) |
+----------+
| 510085 |
+----------+
Конфиг innodb-части для mysql-сервера:
Общий размер innodb-таблиц порядка 250Мб.
В чём может быть причина тормозов при вставке, как можно данную ситуацию исправить?
С поражающей периодичностью в slow-логе появляются след. запросы -
Count: 1611 Time=6.80s (10958s) Lock=0.66s (1056s) Rows=0.0 (0), fighting[fighting]@localhost
insert into `GAME` set `CREATED` = 'S', `GOT_EXP` = null, `GOT_LEVEL` = null, `GOT_LIFEUNITS` = null, `GOT_POWER` = null, `RIVAL_EXTID` = 'S', `RIVAL_UID` = null, `TYPE_UID` = N, `USER_UID` = N, `USER_WIN` = null
Создание таблицы -
PHP:
CREATE TABLE `GAME` (
`UID` int(11) NOT NULL AUTO_INCREMENT,
`USER_UID` int(11) NOT NULL,
`TYPE_UID` int(11) NOT NULL,
`CREATED` datetime NOT NULL,
`RIVAL_UID` int(11) DEFAULT NULL,
`RIVAL_EXTID` varchar(45) NOT NULL,
`USER_WIN` tinyint(1) DEFAULT NULL,
`GOT_EXP` int(11) DEFAULT NULL,
`GOT_LIFEUNITS` int(11) DEFAULT NULL,
`GOT_POWER` int(11) DEFAULT NULL,
`GOT_LEVEL` int(11) DEFAULT NULL,
PRIMARY KEY (`UID`),
KEY `fk_GAME_USER1` (`USER_UID`),
KEY `fk_GAME_CODE1` (`TYPE_UID`),
KEY `fk_GAME_USER2` (`RIVAL_UID`),
CONSTRAINT `fk_GAME_CODE1` FOREIGN KEY (`TYPE_UID`) REFERENCES `CODE` (`UID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_GAME_USER1` FOREIGN KEY (`USER_UID`) REFERENCES `USER` (`UID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_GAME_USER2` FOREIGN KEY (`RIVAL_UID`) REFERENCES `USER` (`UID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8
mysql> SELECT COUNT(*) FROM GAME;
+----------+
| COUNT(*) |
+----------+
| 510085 |
+----------+
Конфиг innodb-части для mysql-сервера:
PHP:
innodb_flush_method = O_DIRECT
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 64M
innodb_log_buffer_size = 4M
innodb_flush_log_at_trx_commit = 2
В чём может быть причина тормозов при вставке, как можно данную ситуацию исправить?