Mysql Таблица слишком велика для нескольких строк - PullRequest
0 голосов
/ 05 мая 2020

У меня 13 строк Mysql Таблица размером 128 МБ (аналогичная таблица с 50 тыс. Строк занимает всего 50 МБ), и я не могу понять причину этого. Вот подробности таблицы:

user table details

Чтобы проверить размер таблицы, я использую следующий оператор:

SELECT table_schema "db_name", ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"  FROM information_schema.tables  GROUP BY table_schema;

Я бы избегал усечения или перестроить таблицу с нуля, если возможно.

Как я могу исследовать проблему?

1 Ответ

2 голосов
/ 05 мая 2020

Вы смешиваете отдельные таблицы и базы данных, которые состоят из нескольких таблиц.

Попробуйте следующий запрос, чтобы узнать, насколько велики отдельные таблицы:

SELECT CONCAT(TABLE_SCHEMA, ".", TABLE_NAME) `table`,
ROUND((data_length + index_length) / 1024 / 1024, 1) "Table Size in MB"
FROM information_schema.tables

Если одна таблица все еще занимает неожиданно много места, попробуйте выполнить следующий запрос, который освободит неиспользуемое пространство в кластеризованном индексе (по крайней мере, для таблиц InnoDB).

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