InnoDB MySQL - избежать очистки буфера журнала для одной транзакции? - PullRequest
1 голос
/ 21 июля 2011

Можно ли программно сказать MySQL, чтобы он не сбрасывал буфер журнала немедленно только для текущей транзакции, независимо от настройки innodb_flush_log_at_trx_commit?

Допустим, вы обычно хотите совместимость с ACID, чтобы ваши данные были защищены от любых сбоев питания или оборудования. Итак, у вас есть innodb_flush_log_at_trx_commit = 1

Но в вашем приложении у вас есть один конкретный запрос INSERT, который нужно быстро вернуть, и для него не так важно иметь такой же уровень защиты целостности. Можете ли вы пропустить сброс (в конце транзакции) только для этого запроса / транзакции? И можете ли вы сделать это программно, с помощью SQL-запроса или чего-то в PHP PDO?

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Я думаю, что ответ заключается в том, что это невозможно сделать, если только вы не захотите переключиться на MyISAM только для конкретной таблицы.

0 голосов
/ 21 июля 2011

Я не уверен, что это будет именно то, что вы хотите, но посмотрите INSERT DELAYED.

...