Re: SELECT is faster on SQL Server

Поиск
Список
Период
Сортировка
От Frank Millman
Тема Re: SELECT is faster on SQL Server
Дата
Msg-id ee9c3016-1a77-3b35-8420-4407901c0edc@chagford.com
обсуждение исходный текст
Ответ на Re: SELECT is faster on SQL Server  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On 2021-03-19 4:38 PM, Tom Lane wrote:
> Frank Millman <frank@chagford.com> writes:
>> However, the bizarre thing is that I have simply restored the index to
>> what it was in the first place. If you look at the table definition in
>> my original message you can see that all the columns were included in
>> the index. But the query did not use it as a covering index. Now the
>> EXPLAIN ANALYSE clearly shows 'Index Only Scan using ar_tots_cover'. I
>> have no idea what changed.
> VACUUM, maybe?  Even if there's a covering index, the planner is not
> likely to prefer an index-only scan unless it thinks that most of the
> table's pages are known all-visible.  If they're not, most of the
> rows will require heap probes anyway to check row visibility, meaning
> that the "index-only" scan's performance degrades to about that of a
> regular indexscan.
>
> In this example, since you're fetching such a large fraction of the
> table (which the planner is accurately estimating), there's not a lot
> of daylight between the estimated costs of seqscan and index-only
> scan to begin with.  I'm not surprised that it'd prefer the former
> if the table isn't recently vacuumed.

It is possible. I know that I *did* vacuum. But I also ran a program to 
generate a few hundred additional rows, and I cannot remember if I ran 
the vacuum before or after that.

Frank





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

Предыдущее
От: Thomas Kellerer
Дата:
Сообщение: Re: SELECT is faster on SQL Server
Следующее
От: Frank Millman
Дата:
Сообщение: Re: SELECT is faster on SQL Server