Навигация
|
PostgreSQL - Вычисление нуждающихся в индексах таблицPostgreSQL - Вычисление нуждающихся в индексах таблиц
Вычислять нуждающиеся в индексах таблицы довольно просто
Воспользуемся представлением - pg_stat_user_tables
Запрос, выводящий топ таблиц в базе данных:
Его смысл - топ таблиц, просматривающихся последовательно
Чем больше значение seq_tup_read, тем вероятнее, что таблице нужны инедксы
После нахождения таблицы - претендента:
проанализируйте запросы, которые делает ваше приложение к данной таблице
Посмотреть существующие индексы в таблице "table_name":
Посмотрим информацию по выполнению запросов в БД для данной таблицы:
Данный запрос показывает информацию в реальном времени
Описание некоторых столбцов:
backend_start - Время запуска процесса, когда клиент подсоединился к серверу
query_start - Время начала выполнения активного или крайнего idle запроса
state_change - Время последнего изменения состояния
Посмотрим запросы со статусом (idle - не выполняется):
Разность между state_change и query_start = время выполнения запроса
Описание некоторых значений state:
active: серверный процесс выполняет запрос
idle: серверный процесс ожидает новой команды от клиента
Для понимания плна выполнения и использования индексов используйте EXPLAIN:
Еще вы увидите, сколько буферов было выбрано с диска (read) или из кеша (hit)
Пример: Buffers: shared hit=12 read=3
Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты для обмена ссылками между сайтами | Видео к статьям на Youtube |
![]() |
|||||
Мои друзья: | ![]() | ![]() | ![]() | Сообщество сисадминов | ![]() | ![]() |
|
© Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку. |