Обсуждение: Planner hints in SELECT queries?

Поиск
Список
Период
Сортировка

Planner hints in SELECT queries?

От
"Dmitry Koterov"
Дата:
Hello.

Sometimes I have to create the following SQL code:

SET something=off;
SET other=off;
SELECT * FROM ... ORDER BY id LIMIT 10;
RESET something;
RESET something;

(e.g. "something" may be equal to "seq_page_cost=100000").

I propose to add the SELECT clause to do it natively, like this:

SELECT *
FROM tbl
ORDER BY id
LIMIT 10
SETTING something=off, other=off

This will do RESET back automatically when the query is executed.

(Why do I need it? Because sometimes even after ANALYZE query I get non-optimal plan, even if I exactly know which plan should be used.)

Re: Planner hints in SELECT queries?

От
Tom Lane
Дата:
"Dmitry Koterov" <dmitry@koterov.ru> writes:
> I propose to add the SELECT clause to do it natively, like this:

> SELECT *
> FROM tbl
> ORDER BY id
> LIMIT 10
> SETTING something=off, other=off

Use a function with a SET clause attached.

            regards, tom lane