Запрашиваемая движком БД предложить создание / удаление индекса - PullRequest
2 голосов
/ 23 февраля 2011

Есть ли у нас способ запросить базу данных, чтобы предложить создание индекса / удаление индекса, которое улучшило бы производительность системы базы данных?

Мы понимаем, что DBA может вручную просматривать файлы трассировки для создания /удалить индексы, но могу ли я написать Java-программу, которая запрашивает механизм БД, чтобы предложить то же самое автоматически.

Или некоторые инструменты с открытым исходным кодом, которые я могу проверить, чтобы выполнить то же самое автоматически.

Thx.

Ответы [ 3 ]

2 голосов
/ 23 февраля 2011

Ну, нет стандартного способа JDBC сделать это.Могут быть конкретные реализации драйверов для конкретных DBS, которые позволят вам ОБЪЯСНИТЬ ваш запрос (отследить использование индексов) и т. Д. Но здесь нет единого ответа, подходящего для всех.

в общем, я бы сказал НЕТ.

0 голосов
/ 23 февраля 2011

Специально для MySQL вы можете помечать медленные запросы, а также запросы, не использующие индексы.

В конечном счете, база данных сделает все возможное (в рамках того, что вы создали) для оптимизации вашего запроса.

http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

Эти данные будут записаны в файл и не обязательно доступны через API.

0 голосов
/ 23 февраля 2011

Ваша производительность индекса зависит от запросов, которые вы запускаете по ним ... Так что нет!

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