Re: how to make this database / query faster

Поиск
Список
Период
Сортировка
От Martin Gainty
Тема Re: how to make this database / query faster
Дата
Msg-id BLU136-DAV1A2A43F6C30D5EFC7429DAE040@phx.gbl
обсуждение исходный текст
Ответ на how to make this database / query faster  (mark <markkicks@gmail.com>)
Ответы Re: how to make this database / query faster
Список pgsql-general
Hi Richard-

My understanding is that Partial index is implemented for low cardinality scenarios ('Y'/'N') ('T'/'F') (null/not null) ?
 
Would it matter the selectivity is balanced?
thus 1 null record and 1 trillion null records would not apply

?
Martin-
----- Original Message -----
To: brian
Sent: Sunday, March 16, 2008 10:25 AM
Subject: Re: [GENERAL] how to make this database / query faster

On Sat, Mar 15, 2008 at 5:04 PM, brian <brian@zijn-digital.com> wrote:
As there's an index on id would it be faster to transpose the WHERE
conditions?

WHERE id > your_last_id
AND session_key IS NOT NULL

I can't remember if the order of WHERE is significant.

I don't think that the order of WHERE clause conditions are significant with PostgreSQL since it has a sophisticated planner.  One way to be sure would be to examine the EXPLAIN plans for different where clause ordering to see if the query plan changes depending upon the order specified.

Another way to make this query faster would be to create a partial index on id;

CREATE UNIQUE INDEX Partial_id
        ON Users
 WHERE session_key IS NOT NULL;


This index would be much smaller if there are many session_keys that are null, so it should be loaded as searched much faster.

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

Предыдущее
От: "Richard Broersma"
Дата:
Сообщение: Re: how to make this database / query faster
Следующее
От: Tom Lane
Дата:
Сообщение: Re: on insert when ... do instead update