Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Автоматическая оптимизация запросов / 2 сообщений из 2, страница 1 из 1
01.02.2022, 02:12
    #40130912
andrey2185
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическая оптимизация запросов
Здорово форумчане, может где-то есть интеллектуальный оптимизатор запросов для postgres, который можно было бы прикрутить к проекту?

надо оптимизировать генерируемые запросы, они бывают излишне громоздкими, например:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
select t.id, t.a, t.b, t.c 
  from (select id, a, b, c
	  from test_table
	 where (a = $1 or $1 is null)
	   and (b = $2 or $2 is null)
	   and (c = $3 or $3 is null)) t 
 where t.a = 1
union 
select t.id, t.a, t.b, t.c 
  from (select id, a, b, c
	  from test_table
	 where (a = $1 or $1 is null)
	   and (b = $2 or $2 is null)
	   and (c = $3 or $3 is null)) t 
 where t.a = 2
union 
select t.id, t.a, t.b, t.c 
  from (select id, a, b, c
	  from test_table
	 where (a = $1 or $1 is null)
	   and (b = $2 or $2 is null)
	   and (c = $3 or $3 is null)) t 
 where t.a = 3




можно превратить хотя бы вот в это

Код: sql
1.
2.
3.
4.
5.
6.
7.
select t.id, t.a, t.b, t.c 
  from (select id, a, b, c
	  from test_table
	 where (a = $1 or $1 is null)
	   and (b = $2 or $2 is null)
	   and (c = $3 or $3 is null)) t 
 where t.a in (1,2,3)



ну или аж в это

Код: sql
1.
2.
3.
4.
5.
select id, a, b, c
  from test_table
 where a in (1,2,3)
   and (b = $1 or $1 is null)
   and (c = $2 or $2 is null)
...
Рейтинг: 0 / 0
01.02.2022, 13:39
    #40130994
andrey2185
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическая оптимизация запросов
ошибся в последнем запросе

Код: sql
1.
2.
3.
4.
5.
6.
select id, a, b, c
  from test_table
 where a in (1,2,3)
   and (a = $1 or $1 is null)
   and (b = $2 or $2 is null)
   and (c = $3 or $3 is null)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Автоматическая оптимизация запросов / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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