LINUX.ORG.RU

Сообщения aisalexa666

 

MySQL. Распределение данных в столбце по индексу

Коллеги, 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. Данные таблицы:

( читать дальше... )

 , ,

aisalexa666
()

RSS подписка на новые темы