Время выполнения проблемы после изменения базы данных MySQL на MariaDB - PullRequest
0 голосов
/ 07 мая 2018

Я меняю MySQL 5.6 на MariaDB 10.1, общее количество записей превышает 5 миллионов. С помощью PHP-скрипта экспортируйте данные с помощью запроса соединения. Теперь экспорт занимает задержку для того же PHP-кода.

Before, MYSQL DB : 20 to 30 second 
After, MariaDB DB : 50 to 60 second 

Подскажите, пожалуйста, как ускорить время выполнения.

1 Ответ

0 голосов
/ 07 мая 2018

Вопрос к генералу, чтобы ответить на него. Вы должны предоставить пример кода, используемого для экспорта.

Чтобы ускорить время выполнения, вы можете настроить свой конфигурационный файл.

Существуют некоторые различия между настройками MySql и MariaDB. Возьмите смотри здесь https://mariadb.com/kb/en/library/system-variable-differences-between-mariadb-101-and-mysql-56/

Вы должны знать, что вы используете MyISAM или InnoDB.

Самым заметным отличием является то, что MariaDB включает по умолчанию механизм хранения Aria (что приводит к дополнительному выделению памяти), Galera Кластер, использует XtraDB Percona вместо InnoDB Oracle, и имеет реализация другого пула потоков. По этой причине по умолчанию реализация MariaDB 10.1 будет использовать больше памяти, чем MySQL 5.6. MariaDB 10.1 и MySQL 5.6 также имеют разные реализации GTID.

Использование дополнительной памяти MariaDB может осуществляться по следующим правилам большого пальца:

Если вы не используете MyISAM и не планируете использовать Aria:

Установите key_buffer_size на очень низкое значение (16 КБ), поскольку оно не используется.

Установите aria_pagecache_buffer_size на то, что вы считаете нужным для обработка внутренних таблиц tmp, которые не помещаются в памяти.

Обычно это то, что раньше вы установили для key_buffer_size (в минимум 1M).

Если вы используете MyISAM и не планируете использовать Aria:

Установите aria_pagecache_buffer_size на то, что вы считаете нужным для обработка внутренних таблиц tmp, которые не помещаются в памяти.

Если вы планируете использовать Aria, вам следует установить aria_pagecache_buffer_size что-то, что подходит большую часть вашего обычные данные + переполнение временных таблиц.

А вот значения по умолчанию в MySQL 5.6 https://dev.mysql.com/doc/refman/5.6/en/server-default-changes.html

...