Thread: Planner hints in SELECT queries?

Planner hints in SELECT queries?

From
"Dmitry Koterov"
Date:
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?

From
Tom Lane
Date:
"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