Читаем из текстового файла строки, обрабатываем и заносим в таблицу (файл access 2000 .Provider = "Microsoft.Jet.OLEDB.4.0") много записей. Много это 1 миллион 200 тысяч (примерно). Раньше этот процесс занимал на 900 Athlone примерно минут 40. ничего серьезно не менял (во всяком случае в этой части кода) но теперь это все загружается в таблицу более двух часов. Почему? (единственно, что приходит в голову - по технологии каждый раз в таблицу записи добавляем, а потом устаревшие (это данные по телефонным разговорам) стираем/переносим в другой файл. Не может быть так что уникальный код записи стал очень большим ну уже более 10-15 миллионов туда затолкали) и из-за этого снизилась скорость?) На вский случай приведу урезанный код: если кто что подскажет по поводу ускорения - буду очень благодарен: While Not EOF(1) ProgressBar1.Refresh Line Input #1, strtemp ' строку прочитали If CurDate >= DataStart And CurDate <= DataFinish Then With Rst .AddNew !NumberWho = tmpNumberWho !NumberWhere = tmpNumberWhere !DataStart = tmpdataStart !DataFinish = tmpdataFinish !TimeStart = tmpTimeStart !TimeFinish = tmpTimeFinish If tmpNumberWhere <> "..." And tmpNumberWhere <> "..." Then If tmpNumberWhere <> "..." And tmpNumberWhere <> "..." Then TmpBoolean = True '!Oplach = True End If End If !Oplach = TmpBoolean .Update End With Wend
Ответить
|