Задать вопрос

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

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

Похожие вопросы