powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите оптимизировать запрос
6 сообщений из 6, страница 1 из 1
Помогите оптимизировать запрос
    #33552687
IgorK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем запрос:
Код: plaintext
1.
2.
3.
SELECT r.name, r.code 
FROM rubrics AS r, quot_prepared AS item, quot_rubric AS qr  
WHERE item.quot_id =  120363  AND qr.rubric_id = r.id 
                            AND qr.quot_prepared_id=item.id
Имеем индекса:
Код: plaintext
1.
2.
3.
CREATE UNIQUE INDEX rubrics_pkey ON rubrics USING btree (id)
CREATE INDEX quot_prepared_quot_id_idx ON quot_prepared USING btree (quot_id)
CREATE UNIQUE INDEX quot_prepared_pkey ON quot_prepared USING btree (id)
CREATE INDEX quot_rubric_qpi_ri ON quot_rubric USING btree (rubric_id, quot_prepared_id)
Вроде все должно быть ОК, а запрос выполняется 10-15 сек, хотя записей максимально тыщ 300-400.
Можно что нибудь еще сделать?
...
Рейтинг: 0 / 0
Помогите оптимизировать запрос
    #33552747
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorK
Можно что нибудь еще сделать?
Можно EXPLAINE ANALYZE сделать, и результаты - в студию.
Можно по rubric_id сделть индекс.
Но EXPLAINE ANALYZE - обязатательно :)
...
Рейтинг: 0 / 0
Помогите оптимизировать запрос
    #33552852
IgorK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно EXPLAINE ANALYZE
что-то не понимает таких словов -может версия старая? У меня 7.3.1
...
Рейтинг: 0 / 0
Помогите оптимизировать запрос
    #33552866
IgorK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, вот
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Merge Join (cost= 24112 . 18 .. 25889 . 50  rows= 11  width= 77 ) 
Merge Cond: ("outer".id = "inner".rubric_id) 
-> Index Scan using rubrics_pkey on rubrics r (cost= 0 . 00 .. 1723 . 93  rows= 21285  width= 57 ) 
-> Sort (cost= 24112 . 18 .. 24112 . 20  rows= 11  width= 20 ) 
Sort Key: qr.rubric_id 
-> Merge Join (cost= 23012 . 89 .. 24112 . 00  rows= 11  width= 20 ) 
Merge Cond: ("outer".id = "inner".quot_prepared_id) 
-> Sort (cost= 15 . 92 .. 15 . 94  rows= 10  width= 4 ) 
Sort Key: item.id 
-> Index Scan using quot_prepared_quot_id_idx on quot_prepared item (cost= 0 . 00 .. 15 . 74  rows= 10  width= 4 ) 
Index Cond: (quot_id =  120363 ) 
-> Sort (cost= 22996 . 97 .. 23546 . 43  rows= 219784  width= 16 ) 
Sort Key: qr.quot_prepared_id 
-> Seq Scan on quot_rubric qr (cost= 0 . 00 .. 3495 . 84  rows= 219784  width= 16 ) 
...
Рейтинг: 0 / 0
Помогите оптимизировать запрос
    #33555353
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте создать индекс по quot_rubric.quot_prepared_id
...
Рейтинг: 0 / 0
Помогите оптимизировать запрос
    #33556582
LaVei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorKчто-то не понимает таких словов -может версия старая? У меня 7.3.1
Кстати реально увеличится производительность если проапгрейдишься хотя бы до 7.4, в идеале конечно до 8-ки.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите оптимизировать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]