![]() |
#29 |
Moderator
|
Цитата:
Сообщение от KSS
Сразу извиняюсь, что тестирование не по правилам - ночь на дворе, предлагаю просто в качестве идеи…
идея проста - берем АДОКомманд и пишем запрос "INSERT INTO"…. Но зачОт пока поставить не могу. ![]() В первую очередь, конечно, потому, что далековато от «Условий конкурса»: фактически у Вас в цикле 50 тыс. раз вставляется одна и та же запись, т.е. нет фетча по таблицам Аксы, а на фетч тратится довольно большой процент времени. В вторую очередь - это даже не "очередь", а мое очень субъективное "ИМХО" - потому что Ваш вариант несколько тяжеловат – существует, опять же ИМХО, более элегантное решение, приведенное здесь (Господи, не дай возгордиться и захвалиться!). Там на стороне Axapta данные загружаются в ADODB.Recordset в оперативной памяти (без связи с БД, как в массив), а на стороне Excel вставляются – не устаю восхищаться! – одной единственной командой Range.CopyFromRecordset. Посмотрите, сравните. Это не может не понравиться. Хотя по скорости, конечно, несколько уступает быстрокрылым способам AndyD-а, но не на порядок (чуть позже я выложу свою «конкурсную» версию). Зато прозрачность реализации подкупает. Однако, я совсем не отговариваю Вас от Вашего подхода. Оформите джобик «по правилам» и выкладывайте – будем его хронометрировать на моей «эталонной» машине и сохранять для благодарных потомков. |
|
Теги |
benchmark, download, excel, faq, xml, законченный пример, производительность, экспорт/импорт |
|
|