2012-04-04 1 views
0

Сегодня я проверил тест. чтобы увидеть варианты для производительности вставки в таблице innodb , которая пуста с исходным файлом, имеющим записи 10K.Что скажут мне эти статистические данные?

Я использовал "MySQL -uuname -pxxxxxx -Ddbanme < insert_file.sql"

Вот разная статистика, которые вышли.

BINARY LOGGING IS ENABLED 
    innodb_flush_log_trx_commit = 1  Time: 25 minutes 
    innodb_flush_log_trx_commit = 2  Time: 4 seconds 

    BINARY LOGGING IS DISABLED 
    innodb_flush_log_trx_commit = 1  Time: 6 minutes 
    innodb_flush_log_trx_commit = 2  Time: 3 seconds 

Я не уверен, что понимать из этого. Поделитесь своими мыслями по этим данным теста.

+0

Спасибо Fenwick за то, что вы сделали сообщение лучше. – Uday

+0

также вам нужно специальное оборудование для установки 'innodb_flush_log_trx_commit = 2', или вы можете потерять данные при сбое – kommradHomer

+0

Знаете ли вы разницу между' trx_commit' 1 и 2? –

ответ

2

Посмотрите here, вы увидите, что когда innodb_flush_log_trx_commit является 1, MySQL чаще записывает журнал флеша. Как вы можете видеть в документации, для достижения соответствия ACID это должно быть 1. В вашем случае при импорте данных из файла, если у вас есть значение 1 и что-то ломается, вся ваша транзакция завершится неудачно (таблица останется пустой) со значением 2, если что-то сломается, ваша таблица будет содержать записи, которые преуспели (перед импортом не смогли).

Относительно BINARY LOGGING, когда нет двоичной регистрации, ваша вставка работает быстрее. Вам не нужно бинарное ведение журнала, если у вас нет подчиненных серверов и вы не хотите реплицировать команды с вашего основного сервера, поэтому вы можете отключить его, так как это увеличит вашу производительность.

+0

Я хотел бы знать, есть ли какой-либо особый случай, когда для параметра innodb_flush установлено значение 1, а бинарное ведение журнала разрешено, происходит резкое замедление производительности ... Что здесь происходит. в любом случае спасибо за ваши материалы. – Uday

+0

Ваш тест уже показал, что разница в производительности. Будет отличаться любая операция записи, которую вы выполняете. Тем не менее, эти две настройки не должны влиять на производительность SELECT. –

Смежные вопросы