Re: Размер
От | Denis A. Egorov |
---|---|
Тема | Re: Размер |
Дата | |
Msg-id | 20050526110053.GE6070@virtonconsultants.com обсуждение исходный текст |
Ответ на | Re: Размер ("Alexander M. Pravking" <fduch@antar.bryansk.ru>) |
Список | pgsql-ru-general |
Здравствуйте, Alexander M. Pravking! Нет, больше ничего нет, я привёл реальный пример. Да, согласен, как вариант, но это есть костыли... Думаю что буду переходить на 8.3, как советует Олег. On Thu, May 26, 2005 at 02:25:28PM +0400, you wrote: -> 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 -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -> -- Denis A. Egorov
В списке pgsql-ru-general по дате отправления: