Как максимально оптимизировать таблицу MySQL?

Имеется таблица MySQL. Информация на скрине.

В таблице 1 400 000 записей.
Поля с типом данных BINARY(16) заполнены NULL.
Остальные поля заполнены числовыми значениями.
Никаких индексов нет.
Вес таблицы составляет 50Мб! Это нормально для такой таблицы? Как можно ужать её?

Смотрю вес таблицы с помощью следующей команды.
spoiler
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
FROM information_schema.TABLES
WHERE table_name = "xp_fias_main"


5d64eac20de4f034242341.png
  • Вопрос задан
  • 1251 просмотр
Решения вопроса 2
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
нечего тут оптимизировать.
Ответ написан
@vitaly_il1
DevOps Consulting
Насколько понимаю, вы и отвечающие не поняли друг друга. "Оптимизировать" в MySQL используется в смысле "настроить базу данных и запросы с целью ускорения работы".
Если ваш вопрос о размере базы на диске, то можно выбрать более "экономичный" engine для MySQL - TokuDB, RocksDB.  Да и InnoDB поддерживает компрессию.
См. для подробностей https://www.percona.com/blog/2018/11/23/compressio... и т.п.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@coller13
Если задались целью оптимизации, то можно проанализировать, какие типовые запросы из приложения уходят в БД и построить минимально необходимые индексы. EXPLAIN вам в помощь.
Если есть желание немного изучить инструмент, то включите лог медленных запросов и оптимизируйте. В этом случае или запросы меняйте на типовые, для которых уже есть индексы, или новые индексы стройте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы