mysqli — MariaDB: ускорение INFORMATION_SCHEMA для отражения в переполнении стека

MySQL пообещал, что начиная с версии 8, запрос на INFORMATION_SCHEMA примерно От 140 до 1000 раз быстрее чем MySQL 5.

MariaDB 10 по-прежнему так же быстро, как MySQL 5. Опции:

  1. SET GLOBAL innodb_stats_on_metadata=0;
  2. SHOW TABLE STATUS в 2 раза быстрее чем SELECT * FROM INFORMATION_SCHEMA.TABLESпо моим собственным тестам
  3. метаданные столбца запроса через API драйвера клиента, В 7 раз быстрее, но без индексов и отношений
  4. кэшировать вывод использованных INFORMATION_SCHEMA таблицы и столбцы в локальной таблице с MEMORY двигатель, который в11 раз быстрее.

У варианта 4 есть несколько незначительных недостатков.

  • каждый раз, когда меняется схема, кэш также должен обновляться
  • MEMORY двигатель не поддерживает TEXT а также BLOB столбцы, а это значит, я не могу захватить COLUMN_TYPE а также COLUMN_DEFAULT от INFORMATION_SCHEMA.COLUMNS, Это означает, что я не могу сохранить полное определение SET а также ENUM колонны. Мне плевать на это.

Как заставить MariaDB идти Быстрее?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]