![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
большой SQL запрос
S{NIK} © (2006-04-18 15:04:00)что делать если при обработке запроса SQL на выборку система выдает сообщение "слишком большой SQL запрос"
Sergey13 (2006-04-18 16:13:00) [1]>Суть в том, что это едиственное что у меня есть и это единственное чем я могу оперировать
Так оперировать можно по разному. Ты для "автогенерации" просто в коды конкретные тыкаешь что-ли?
S{NIK} (2006-04-18 16:03:00) [2]
> а нельзя ли этот фильтр сконструировать в виде запроса,
> а не лепить список ID
было бы конечно очень неплохо, но невозможно
> Ну сразу, как минимум
> where ID in (..., ..., ..., ....)
> Это как минимум на 6 байт меньше для каждого ID.
а вот этого не знал, Thanks
S{NIK} (2006-04-18 15:57:00) [3]
> Расшифровать бы. Кем определенные? По какому критерию определенные?
система сложна, не буду вдаваться в подробности. Суть в том, что это едиственное что у меня есть и это единственное чем я могу оперировать
Desdechado (2006-04-18 15:57:00) [4]а нельзя ли этот фильтр сконструировать в виде запроса, а не лепить список ID
ведь появится больше записей, удовлетворяющих фильтру, и все, гаплык
Sergey13 (2006-04-18 15:48:00) [5]>Из базы должны выбраться записи содержащие в поле ID определенные значения, данные записи попадают под фильтр
Расшифровать бы. Кем определенные? По какому критерию определенные?
Johnmen (2006-04-18 15:46:00) [6]Для таких выборок предпочтительнее через временную таблицу с этими самыми ID.
Ega23 (2006-04-18 15:44:00) [7]На пять. Запятая появляется. Но всё равно меньше.
Desdechado (2006-04-18 15:44:00) [8]видимо, таблица на 200 полей
и запрос на update в TUpdateSQL с названиями всех полей, явно перечисленными и в SET, и во WHERE
Ega23 (2006-04-18 15:43:00) [9]
> SELECT .... ID=... OR ID=... и тд.
Ну сразу, как минимум
where ID in (..., ..., ..., ....)
Это как минимум на 6 байт меньше для каждого ID.
Ega23 (2006-04-18 15:42:00) [10]
> ЗЫ. Только один раз видел запрос (написанный руками), которому
> 4 байт не хватило до потолка оракла (кажись 64Кб). Это был
> мрак.
Хотел бы посмотреть.
И на запрос, и в глаза аффтару... :о)
S{NIK} (2006-04-18 15:41:00) [11]
> Есть мнение, что что-то не так в Датском Королевстве...
Да нет все должно быть ОК. Tracing показал что запрос генерится корректно, проблема в том, что при обработке большого объема информации этот запрос увеличивается в геометрической прогрессии.
Хотя может я что-то делаю не правильно (с базами недавно).
... Вообщем следующая фигня. Из базы должны выбраться записи содержащие в поле ID определенные значения, данные записи попадают под фильтр (и их - ID единственно что мне известно), и в SQL'e они так и идут
SELECT .... ID=... OR ID=... и тд. Использую MS Jet Database Engine.
Johnmen (2006-04-18 15:33:00) [12]
> Автоматически генерится.
Что за автомат? Какой конструкции?
ANB (2006-04-18 15:33:00) [13]
> S{NIK} (18.04.06 15:22) [5]
Значит нужно урезать запрос. Например, перетащить часть во вьюхи.
ЗЫ. Только один раз видел запрос (написанный руками), которому 4 байт не хватило до потолка оракла (кажись 64Кб). Это был мрак.
Ega23 (2006-04-18 15:24:00) [14]
> Автоматически генерится.
Есть мнение, что что-то не так в Датском Королевстве...
S{NIK} (2006-04-18 15:22:00) [15]
> Хм... А кто же его написал?
Автоматически генерится.
Sergey13 (2006-04-18 15:18:00) [16]- Ну и запросы у вас, - сказала база данных и повисла.
(с)тырено
Johnmen (2006-04-18 15:18:00) [17]
> Точно не знаю
Хм... А кто же его написал?
S{NIK} (2006-04-18 15:14:00) [18]
> Это какой-же он у тебя????
Точно не знаю не проверял, но судя по всему огромный
Ega23 (2006-04-18 15:06:00) [19]Это какой-же он у тебя????