Re: Very slow query

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: Very slow query
Дата
Msg-id 200207301403.11943.josh@agliodbs.com
обсуждение исходный текст
Ответ на Very slow query  ("Chad Thompson" <chad@weblinkservices.com>)
Ответы Re: Very slow query  (Ron Johnson <ron.l.johnson@cox.net>)
Список pgsql-novice
Chad,

> Its the substring function that slows things down so much.  Is there a
better way to compare these string values?
> substr(cr.phonenum, 1,6) is the same speed.  (and according to the docs,
basicly the same function)

Yeah.  You can index it:

CREATE FUNCTION phonenum_substr (
    VARCHAR ) RETURNS VARCHAR AS '
SELECT substr(cr.phonenum, 1, 6);
' LANGUAGE 'sql' WITH (ISCACHABLE, ISSTRICT);
-- this lets you index on the substring, as the straight substr function is
not indexable as of Postgres 7.2.1

Then:
CREATE INDEX idx_cr_phonenum_substr ON phonenum_substr(cr.phonenum);

This should speed things up.



--
-Josh Berkus
 Aglio Database Solutions
 San Francisco


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

Предыдущее
От: "Chad Thompson"
Дата:
Сообщение: Very slow query
Следующее
От: Ron Johnson
Дата:
Сообщение: Re: Very slow query