Навигация
|
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
Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты Группа ВК | Код обмена баннерами | Видео к IT статьям на YoutubeВидео на другие темы Смотреть | |||
Мои друзья: | © Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|