|
17.08.2007, 16:47 | #1 |
Участник
|
Тормозит копирование строк в буфер обмена
Тормозит копирование строк в буфер обмена
суть проблемы: выделяем несколько строк в гриде жмем Ctrl + C или кнопку "копировать" система занимается какойто активной деятельностью (судя по всему выкачивает все строки таблицы т.к. чем меньше строк в таблице тем быстрее) на таблицах >100000 (InventTable, InventSum)строк копирование пары строк занимает несколько минут при этом аксапта отъедает ~200mb памяти, однако если копировать одну строку копируется "мгновенно" как с этим бороться может кто сталкивался? ax 3.0 sp3 + Oracle 9i и в 2х уровневой и в 3хуровневой конфигурации |
|
17.08.2007, 17:10 | #2 |
Member
|
Смириться.
Извлечение записей происходит курсором (по одной, точнее, небольшими пачками). При этом процесс копирования в буфер может сопровождаться расчетом display-методов. Если вы делаете копирование чего-то постоянно и в больших объемах, то имеет смысл подумать об автоматизации процесса либо разработке альтернативного решения вставки данных в Эксельку. Поищите про ADO для примера. Типа вот этого Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент)
__________________
С уважением, glibs® |
|
17.08.2007, 17:22 | #3 |
Участник
|
Цитата:
Сообщение от glibs
Смириться.
Извлечение записей происходит курсором (по одной, точнее, небольшими пачками). При этом процесс копирования в буфер может сопровождаться расчетом display-методов. Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) если копировать одну строку копируется "мгновенно", а если 2 то 10 минут |
|
17.08.2007, 19:11 | #4 |
Member
|
Возможно. Прошу прощения.
А долгоиграющие запросы в процессе копирования двух записей порождаются? Когда форма открывается — не тормозит? Попробуйте посмотреть профайлером, что происходит.
__________________
С уважением, glibs® |
|
20.08.2007, 15:09 | #5 |
Участник
|
Цитата:
PHP код:
тк он порядочно засран реиндексация и перестроение индексов на отдельной таблице не помогает |
|
20.08.2007, 15:25 | #6 |
Участник
|
хотя гоню, проблема гдето в приложении т.к. оно же на другом оракле тормозит также
|
|
20.08.2007, 15:34 | #7 |
Member
|
Если трассировка дальше super() не разворачивается, то посмотрите запросы, которые идут к БД. Они либо долгоиграющие, либо их очень много, либо очень интересно, что у вас там происходит.
__________________
С уважением, glibs® |
|
20.08.2007, 15:38 | #8 |
Участник
|
PHP код:
|
|
20.08.2007, 15:53 | #9 |
Member
|
Это в каких деньгах (в смысле, единицах измерения)?
Ну, в общем, направление для поиска вам понятно. Я не укротитель Оракла, так что дальше я пасс.
__________________
С уважением, glibs® |
|
20.08.2007, 16:00 | #10 |
Участник
|
|
|
20.08.2007, 15:56 | #11 |
Участник
|
а расскажите, какие параметры стоят на закладке database сервера приложения?
|
|
20.08.2007, 16:06 | #12 |
Участник
|
вот
|
|
20.08.2007, 16:11 | #13 |
Участник
|
Да не в запросе дело.
Просто при попытке копировать несколько выделенных срок Ax зачем-то начинает фетчить с сервера все, что не получила. Эта "фича" работает на sp3 cu1. На сп5 cr2 Ax фетчит только один пакет записей и успокаивается
__________________
Axapta v.3.0 sp5 kr2 |
|
20.08.2007, 16:18 | #14 |
Участник
|
Цитата:
че такое cu1? (у нас 3.0 sp3 Build 9.2) фишка в том, что пару недель назад все было ок, по крайней мере юзеры не жаловались |
|
20.08.2007, 17:12 | #15 |
Участник
|
чего делать то?
ставить сервиспак? чета нехочется ченить отъедет запаришься разгребать |
|
20.08.2007, 16:15 | #16 |
Участник
|
Угу. Точно. В kr2 исправили
Цитата:
6255
An attempt to copy multiple lines from a form with a large number of rows caused Microsoft Axapta to hang. Problem When Microsoft Axapta found marked lines it used the rowsLoaded() method as the loop exit condition. Also when it got a row from the cache it did a fetch ahead to get new rows if needed. So after additional fetching, the rowsLoaded() method returned another value, which was greater than the one before. So, the loop was continued with this logic until all the records were loaded into the cache. Solution Initialise the loop counter before starting the loop.
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: glibs (1). |
20.08.2007, 17:22 | #17 |
Участник
|
Зачем сервис-пак? KR2 достаточно поставить.
Что при этом изменится - смотрите на форуме, обсуждалось неоднократно
__________________
Axapta v.3.0 sp5 kr2 |
|
20.08.2007, 17:44 | #18 |
Участник
|
|
|
20.08.2007, 18:16 | #19 |
Участник
|
потестил на "чистом" приложении в другой базе, тоже самое :\
странно что юзеры 3года не жаловались )) |
|
20.08.2007, 18:40 | #20 |
Участник
|
вопрос открыт, где скачать KR2 или более позднюю версию?
|
|