surprising query optimisation

Поиск
Список
Период
Сортировка
От Chris Withers
Тема surprising query optimisation
Дата
Msg-id 03a0af57-3ebc-5501-10ef-6a639c7c34b8@withers.org
обсуждение исходный текст
Ответы Re: surprising query optimisation  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: surprising query optimisation  (Gavin Flower <GavinFlower@archidevsys.co.nz>)
Re: surprising query optimisation  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-general
Hi All,

We have an app that deals with a lot of queries, and we've been slowly 
seeing performance issues emerge. We take a lot of free form queries 
from users and stumbled upon a very surprising optimisation.

So, we have a 'state' column which is a 3 character string column with 
an index on it. Despite being a string, this column is only used to 
store one of three values: 'NEW', 'ACK', or 'RSV'.

One of our most common queries clauses is "state!='RSV'" and we've found 
that by substituting this clause with "state='ACK' or state='NEW'" 
wherever it was used, we've dropped the postgres server's load average 
from 20 down to 4 and the CPU usage from 60% in user space down to <5%.

This seems counter-intuitive to me, so thought I'd ask here. Why would 
this be likely to make such a difference? We're currently on 9.4, is 
this something that's likely to be different (better? worse?) if we got 
all the way up to 10 or 11?

cheers,

Chris



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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Primary Key index with Include
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: surprising query optimisation