Какой самый быстрый механизм хранения MariaDB для чтения? - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть таблица в базе данных MariaDB с 125 миллионами строк, которая используется для хранения результатов автоматического анализа данных. Несколько тысяч строк пишутся в случайное время каждый день. Запросы на столе происходят несколько раз в день и могут дать несколько тысяч или несколько миллионов результатов. Производительность чтения наиболее важна, потому что это происходит перед пользователем.

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

Я уверен, что я мог бы использовать много методов оптимизации (я бы тоже хотел их услышать!), но самый главный c вопрос с таблицей такого размера и такой схемой использования, какой механизм хранения MariaDB лучше всего подходит для таблицы?

1 Ответ

0 голосов
/ 10 марта 2020

Реализация индекса между двигателями достаточно различна, чтобы не отвечать на ваш вопрос, не видя фактический запрос, и SHOW CREATE TABLE.

InnoDB - самый быстрый механизм практически для всех случаев использования. Сколько у вас оперативной памяти? Насколько большой ваш стол? Часть того, на что я обращаю внимание, заключается в том, связаны ли ваши запросы с процессором или с вводом / выводом.

В зависимости от деталей запроса использование «кластеризованного» * ​​In InDDB PRIMARY KEY может дать толчок. , Это недоступно непосредственно в MyISAM.

Что вы делаете с тысячами или миллионами строк? Подводя итог? Если это так, то существует подход, который может заставить запросы выполняться в 10 раз быстрее: http://mysql.rjweb.org/doc.php/summarytables

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...