У меня есть транзакционная база данных с высоким спросом, которая, я думаю, переиндексирована. Изначально у него не было никаких индексов, поэтому добавление некоторых для общих процессов имело огромное значение. Однако со временем мы создали индексы для ускорения отдельных запросов, и некоторые из самых популярных таблиц имеют 10-15 различных индексов, а в некоторых случаях индексы незначительно отличаются друг от друга или являются одни и те же столбцы в другом порядке.
Есть ли простой способ наблюдать за активностью базы данных и сообщать, не затронуты ли какие-либо индексы, или каков их процент использования? Я обеспокоен тем, что индексы были созданы для ускорения либо одного ежедневного / еженедельного запроса, либо даже запроса, который больше не выполняется, но индекс по-прежнему необходимо обновлять каждый раз при изменении данных.
В случае таблиц с высоким трафиком это десяток раз в секунду, и я хочу исключить индексы, которые отягощают обновления данных, обеспечивая при этом лишь незначительное улучшение.