Re: Размер
От | Alexander M. Pravking |
---|---|
Тема | Re: Размер |
Дата | |
Msg-id | 20050526102528.GY990@dyatel.antar.bryansk.ru обсуждение исходный текст |
Ответ на | Re: Размер SQL-запроса. (Oleg Bartunov <oleg@sai.msu.su>) |
Ответы |
Re: Размер
|
Список | 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
В списке pgsql-ru-general по дате отправления: