powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / не подхватвается индекс pk при LEFT OUTER JOIN
2 сообщений из 2, страница 1 из 1
не подхватвается индекс pk при LEFT OUTER JOIN
    #39376274
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из hibernate склеивается запрос где join'им таблицу к основному запросу

Код: sql
1.
LEFT OUTER JOIN ervice service2_ on ser0_1_.service_id = service2_. ID


есть индекс:
Код: sql
1.
CREATE UNIQUE INDEX service_pk ON service USING btree (id)



но при выполнении запроса этот индекс не берется:

Код: sql
1.
2.
Seq Scan on service service2_ (cost=0.00..107,922.71 rows=1,962,771 width=236) (actual time=0.025..678.385 rows=1,962,771 loops=1)
Buffers: shared hit=88295


если переписать на lateral:
Код: sql
1.
2.
3.
4.
5.
LEFT OUTER JOIN lateral (select 
	service2_.code,
	service2_. NAME,
	service2_.is_complex from
service service2_ where ser0_1_.service_id = service2_. ID limit 1) service2_ on true



то поиск работает по индексу
Код: sql
1.
2.
3.
4.
Index Scan using service_pk on service service2_ (cost=0.43..8.45 rows=1 width=232) (actual time=0.009..0.009 rows=1 loops=56,677)
Index Cond: (ser0_1_.service_id = id)
Buffers: shared hit=226592 read=137
I/O Timings: read=333.080



но возможности так написать в hibernate нет, только если все переписывать на нативный способ

подскажите что можно сделать не меняя запроса что бы поиск был по индексу, какая инфа еще нужна, может кто сталкивался с этим?
...
Рейтинг: 0 / 0
не подхватвается индекс pk при LEFT OUTER JOIN
    #39376280
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legushka,

Для любых вопросов по производительности следует приводить запрос целиком и его `EXPLAIN (analyze, buffers)`.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / не подхватвается индекс pk при LEFT OUTER JOIN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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