Re: SQL Server performing much better?!?!

Поиск
Список
Период
Сортировка
От Masaru Sugawara
Тема Re: SQL Server performing much better?!?!
Дата
Msg-id 20020321161354.94E6.RK73@sea.plala.or.jp
обсуждение исходный текст
Ответ на SQL Server performing much better?!?!  ("Christian Cabanero" <chumpboy@yahoo.com>)
Список pgsql-general
On Tue, 19 Mar 2002 18:06:44 -0800
"Christian Cabanero" <chumpboy@yahoo.com> wrote:

> SELECT
>         a.user_id, b.sample_id
> FROM
>         user_company a,
>         samples b,
>         users c
> WHERE
>         a.company_id = b.sample_manufacturer_id AND
>         b.sample_state = 1 AND
>         b.sample_author_id = c.user_id AND
>         NOT EXISTS
>         (
>                 SELECT
>                         p.territory_id
>                 FROM
>                         territories p,
>                         territory_ranges q,
>                         manufacturer_territories r
>                 WHERE
>                         r.manufacturer_id = b.sample_manufacturer_id AND
>                         r.assignment_flag = 2 AND
>                         r.territory_id = p.territory_id AND
>                         p.territory_id = q.territory_id AND p.type IN (1, 2)
> AND
>                         c.zip BETWEEN q.start_value AND q.end_value
>         )


If query 1, 2 don't return rows  so much and query 2 isn't slow,
using EXCEPT ALL might work faster than using NOT EXISTS.
Thus, could you show us  the results of EXPLAIN ANALYZE
they'll return respectively ?


-- query 1.
SELECT
        COUNT(*)               -- a.user_id, b.sample_id
FROM
        user_company a,
        samples b,
        users c
WHERE
        a.company_id = b.sample_manufacturer_id AND
        b.sample_state = 1 AND
        b.sample_author_id = c.user_id
;

-- query 2.
SELECT
        COUNT(*)               -- a.user_id, b.sample_id
FROM
        user_company a,
         samples b,
         users c
         territories p,
         territory_ranges q,
         manufacturer_territories r
WHERE
        a.company_id = b.sample_manufacturer_id AND
        b.sample_state = 1 AND
        b.sample_author_id = c.user_id AND
        r.manufacturer_id = b.sample_manufacturer_id AND
        r.assignment_flag = 2 AND
        r.territory_id = p.territory_id AND
        p.territory_id = q.territory_id AND
        p.type IN (1, 2) AND
        c.zip BETWEEN q.start_value AND q.end_value
;


Regards,
Masaru Sugawara



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

Предыдущее
От: Jean-Michel POURE
Дата:
Сообщение: Re: mysql migration
Следующее
От: david.morgan@s4c.co.uk
Дата:
Сообщение: How to increase the 16 argument limit in PLpgsql