powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Автоматическая оптимизация запросов
2 сообщений из 2, страница 1 из 1
Автоматическая оптимизация запросов
    #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
Автоматическая оптимизация запросов
    #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
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Автоматическая оптимизация запросов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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