|
![]() |
#1 |
Member
|
Цитата:
Сообщение от S.Kuskov
...
правильно ли я понимаю, что на самом деле этот код не подходит под определение тяжёлых запросов, способных положить систему? ... Что-то у меня нигде не воспроизводится. Может вы каких полей в таблицы понадобавляли. А если писать что-то вроде exists join TableId from CustTable тоже ругается?
__________________
С уважением, glibs® |
|
![]() |
#2 |
Участник
|
Тогда тем более не понятно, чем результирующая выборка (ведь только она и будет передаваться между AOC и клиентом) неугадила?
Цитата:
У меня значение буфера не указано (по умолчанию) количество строк в таблицах ~ ContactPerson = 30, CustTable = 3000 SalesTable = 30000 В результате превышение буфера на 4 кб Да, так тоже пробовал. Не помогает |
|
![]() |
#3 |
Member
|
Цитата:
Сообщение от S.Kuskov
...
Тогда тем более не понятно, чем результирующая выборка (ведь только она и будет передаваться между AOC и клиентом) неугадила? ... AX2009 вам пишет, что Аксапта ошибается при расчете длины результирующей записи. Похоже на то, хотя я лично не могу быть уверен. Попробуйте поискать про буфер. Кажется, уже было достаточно.
__________________
С уважением, glibs® |
|
![]() |
#4 |
Участник
|
Ага. Значит это величина одной записи не влезает в буфер. Тогда действительно если посчитать все поля(Параметр Maximum buffer size в настройках AOS) всех трёх таблиц , то получается что
X++: info(int2str(SysDictTable::newTableId(tableNum(ContactPerson)).recordSize())); info(int2str(SysDictTable::newTableId(tableNum(CustTable)).recordSize())); info(int2str(SysDictTable::newTableId(tableNum(SalesTable)).recordSize())); 9396 3813 8669 Такая сумма в полне сравнима с размером буфера. Ну что ж, ситуация немного прояснилась. Остаётся только ждать и надеятся на её изменение в будущих версиях. |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
![]() |
#5 |
Moderator
|
Добавлю, что этот параметр следует увеличивать крайне аккуратно, так как память указанного размере выделяется на AOS каждый раз при открытии нового соединения с БД (например, при работе с номерными сериями). Пару раз наблюдал, что чрезмерно завышенное значение данного параметра приводило к перерасходу памяти на AOS, а в предельном случае и к ее утечкам.
|
|
Теги |
ax4.0, buffer, buffer size, exists, join, maximum buffer size |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|