Re: Размер

From: "Alexander M(dot) Pravking" <fduch(at)antar(dot)bryansk(dot)ru>
To: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: Размер
Date: 2005-05-26 10:25:28
Message-ID: 20050526102528.GY990@dyatel.antar.bryansk.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

On Thu, May 26, 2005 at 11:49:34AM +0300, Denis A. Egorov wrote:
> Вот версия postgresql:
>
> PostgreSQL 7.4.8 on i386-portbld-freebsd4.10, compiled by GCC 2.95.4
>
> Это о входящих данных:
>
> head -c 100 big.sql
> SELECT id FROM test WHERE id NOT IN ( '10', '100', '1000', '10000', '10001', '10002
>
> wc sql_big.sql
> 1 14091 122660 sql_big.sql

У тебя в WHERE только NOT IN или ещё что-то?
Postgres иногда не очень умно делает эквивалентные преобразования
булевых выражений, в определённых случаях в результате они получаются
просто конскими.

Как решение могу посоветовать создание временной таблицы (скажем,
denied), куда сложить нужные id'ы и заменить твой NOT IN на
NOT IN (SELECT id FROM test) или на NOT EXISTS (SELECT 1 FROM denied d
WHERE d.id = test.id);

--
Fduch M. Pravking

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Oleg Bartunov 2005-05-26 10:40:36 Re: Размер SQL-запроса.
Previous Message Ivan Yu. Zolotukhin 2005-05-26 09:02:26 Case insensitivity in Postgres