Коллеги, DBA.
Как узнать распределение значений в столбце согласно индексу?
Дана таблица.
Выполняемый запрос: DELETE FROM history_uint WHERE (clock < '1602720000');
Немного о таблице/столбце:
Cardinality (SHOW INDEXES) ~1.5M уникальных значений
TABLE_ROWS (information_schema) ~1.8М строк всего
Data_length (TABLE STATUS) ~108 Гб данных
Index_length (TABLE STATUS) ~55 Гб размер индекса
При выполнении запроса на очистку мускуль принимает решение не использовать индекс.
EXPLAIN:
( читать дальше... )
(В принципе, логично, т.к. я ожидаю, что очистится примерно 70% +/- всей таблицы)
Я хочу перестроить индекс (после того как таблица будет почищена - я не тороплюсь).
Но!
Чтобы принять решение о будущем типе индекса и его структуре мне нужно знать текущее распределение данных в разрезе индекса. Как его получить?
P.S. Я понимаю, что можно сделать мегаселект и сгруппировать, но есть ли способ прочитать именно данные об индексе - без самих данных.
P.S.S. Данные таблицы:
( читать дальше... )