![]() |
#28 |
Коллективное бессознательn ое
|
![]()
Сразу извиняюсь, что тестирование не по правилам - ночь на дворе, предлагаю просто в качестве идеи.
Выгрузку ниже делал дома, подключившись через интернет к терминальному серверу. Файл "111.xls" лежит у меня дома на диске "С", т.е. файл пишется через интернет. Код ниже прошел за 59 секунд. Тут использовались "самодельные" классы-оболочки АДО, но идея проста - берем АДОКомманд и пишем запрос "INSERT INTO". Единственный момент - видимо, придется до начала процедуры задать имена столбцов обычным способом, а потом уже грузить данные. CREATE COLUMN я не пербовал, но может и пройдет, зависит от драйвера, если пройдет, будет быстрее. ![]() Код: static void Job122(Args _args) { ADOConnection connection; ADOCommand command; int i; int timeFullStart, timeFullFinish, timeFullTotal; ; timeFullStart = timenow(); connection = ADODB::establishConnection("C:\\111.xls", false); command = new ADOCommand(); command.ActiveConnection(connection); while(i<50000) { command.CommandText(strFmt("INSERT INTO [Лист1$] (Field1, Field2) VALUES (100000000000000000000, 20000000000000000)")); command.Execute(); i++; } connection.Close(); timeFullFinish = timenow(); timeFullTotal = timeFullFinish - timeFullStart; info('Время выполнения, сек'); info(int2str(timeFullTotal)); }
__________________
Жизнь такова, какова она есть и больше никакова. |
|
Теги |
benchmark, download, excel, faq, xml, законченный пример, производительность, экспорт/импорт |
|
|