Re: Planner should use index on a LIKE 'foo%' query

Поиск
Список
Период
Сортировка
От Matthew Wakeling
Тема Re: Planner should use index on a LIKE 'foo%' query
Дата
Msg-id Pine.LNX.4.64.0806301114130.4085@aragorn.flymine.org
обсуждение исходный текст
Ответ на Re: Planner should use index on a LIKE 'foo%' query  (Moritz Onken <onken@houseofdesign.de>)
Ответы Re: Planner should use index on a LIKE 'foo%' query  (Moritz Onken <onken@houseofdesign.de>)
Список pgsql-performance
On Mon, 30 Jun 2008, Moritz Onken wrote:
> I created a new column in "item" where I store the shortened url which makes
> "=" comparisons possible.

Good idea. Now create an index on that column.

> select count(1) from result where url in (select shorturl from item where
> shorturl = result.url);

What on earth is wrong with writing it like this?

SELECT COUNT(*) FROM (SELECT DISTINCT result.url FROM result, item WHERE
    item.shorturl = result.url) AS a

That should do a fairly sensible join plan. There's no point in using
fancy IN or EXISTS syntax when a normal join will do.

Matthew

--
I have an inferiority complex. But it's not a very good one.

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

Предыдущее
От: Rusty Conover
Дата:
Сообщение: Re: Subquery WHERE IN or WHERE EXISTS faster?
Следующее
От: Dimitri Fontaine
Дата:
Сообщение: Re: Planner should use index on a LIKE 'foo%' query