Читаем из текстового файла строки, обрабатываем и
заносим в таблицу (файл 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