хотя бы 1 раз индекс будет использован с момента запуска сервера, то в статистике unused его не будет до след. рестарта?
Наверняка не скажу, к сожалению, лично не тестировал. Штука в том, что вьюшка показывает имена индексов, для которых в таблице table_io_waits_summary_by_index_usage значение колонки COUNT_STAR = 0. Значение COUNT_STAR инкрементится для конкретного индекса, при возникновении события ожидания чтения/записи данных с использованием этого индекса. Теоретически возможен вариант, когда ваш запрос на чтение выполяется с использованием индекса, но I/O wait эвент не возникает, потому что с диска ничего не читается, данные уже в кеше, их туда другим запросом подняло. В таком случае, раз нет эвента, не будет инкрементится COUNT_STAR и он может остаться равным 0, следовательно и schema_unused_indexes продолжит показывать индекс, хотя он вроде как и использовался. Но это лишь мое предположение, особо глубоко я в этом не разбирался. В любом случае, нужно аккуратно подохдить к удалению "не нужных" индексов. Помимо всего прочего, всегда может найтись какой-нибудь отчет, который запускают раз в пол года и которому нужен индекс не используемый ни кем другим.
Спасибо. Ну тут разработчики почти уверены что индекс не нужен и у меня поинтересовались используется ли он.
Обсуждают сегодня