![]() |
#21 |
Участник
|
Временные таблицы - это не только сами данные.
Не забывайте про метаданные и индексы, связанные с ними. Кроме того, таблица может находится не только в памяти, но и на диске. В общем, не думаю, что проблема именно в какой-то фрагментарности данных в памяти. В конце-концов, ведь все записи можно получить при выполнении селекта. Проблема, именно в наличии индексов, которые необходимо воссоздать на противоположной стороне. Во-первых, непонятна сама структура этих индексов, насколько они привязаны к текущему положению табицы в памяти и затем на диске. Т.е., можно ли их перенести на противоположную сторону без пересоздания. Во-вторых, размеры этих индексов могут быть сопоставимы или больше, чем сами данные. Например, для DAX2009RU7, размер выделяемой памяти под InventTable (заполнял ItemId и ItemName, есть много добавленных полей) в два раза меньше, чем под InventDim (заполнял InventDimId и InventLocationId, некоторые поля отключены в конфигурации) при одном и том же количестве вставленных записей Предваряя вопрос - почему не сереализуют сами данные без индексов и не передают только их с последующим восстановлением индексов, ответить не могу ![]() Как мне видится, так ненавязчиво нам показывают, что надо создавать и обрабатывать данные на одной стороне ![]() Хотя, мне на самом деле не понятно - зачем нужна передача с клиента на сервер таблицы целиком? Точнее, зачем изначально создавать таблицу на клиенте? Почему нельзя создать временную таблицу на сервере, а заполнять еще уже на клиенте?
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|