Re: Simple JOIN on heavy table not using expected index

Поиск
Список
Период
Сортировка
От kimaidou
Тема Re: Simple JOIN on heavy table not using expected index
Дата
Msg-id CAMKXKO7yXmduSs4zzMfdRaPUn2kOKtQ6KMnDe1GxEr56Vr8hxA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Simple JOIN on heavy table not using expected index  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-performance
Tom, thanks a lot for your suggestion.
Indeed, setting random_page_cost to 2 instead of 4 improves this query a lot !

See the new plan :

30 seconds VS 17 minutes before

Cheers
Michaël

Le vendredi 9 février 2024, Tom Lane <tgl@sss.pgh.pa.us> a écrit :
kimaidou <kimaidou@gmail.com> writes:
> It seems PostgreSQL does not use the index parcelles_dep_idx on "dep" (text
> field), even if the corresponding number of lines for this WHERE clause is
> a smal subset of the entire data:
> approx 6M against 80M in total

6M out of 80M rows is not a "small subset".  Typically I'd expect
the planner to use an index-based scan for up to 1 or 2 percent of
the table.  Beyond that, you're going to be touching most pages
of the table anyway.

You can try reducing random_page_cost to favor indexscans, but
you might not find that the query gets any faster.

                        regards, tom lane

В списке pgsql-performance по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Simple JOIN on heavy table not using expected index
Следующее
От: "Pavel Kulakov"
Дата:
Сообщение: PostgreSQL doesn't use index-only scan if there is an expression in index