CloseDatabase dauert extrem lang
Verfasst: 15.01.2012 12:10
Hallo
Das schliessen einer Datenbank dauert extrem lang (~10Sek).
Woran könnte das liegen, lässt sicht daran etwas ändern?
Hier die Ausgabe dazu:
Das schliessen einer Datenbank dauert extrem lang (~10Sek).
Woran könnte das liegen, lässt sicht daran etwas ändern?
Code: Alles auswählen
EnableExplicit
Define modnr_DB$, SQL.s, col.i, zeile$, spalte$, n.i, modnr_row.i
Define t1.q, t2.q, time.q
If UseODBCDatabase() = 0
End
EndIf
t1 = timeGetTime_()
modnr_DB$ = "als_121"
If OpenDatabase(0, modnr_DB$, "", "", #PB_Database_ODBC)
t2 = timeGetTime_()
Debug "OpenDatabase: " + Str(t2 - t1) + " ms"
SQL = "SELECT MODNR,TEXT1,TEXT2 FROM MODST ORDER BY MODNR;"
If DatabaseQuery(0, SQL)
t2 = timeGetTime_()
Debug "DatabaseQuery: " + Str(t2 - t1) + " ms"
If CreateFile(0, "modnr_export.txt")
t2 = timeGetTime_()
Debug "CreateFile: " + Str(t2 - t1) + " ms"
col = DatabaseColumns(0)
;Debug "col: " + Str(col)
zeile$ = ""
For n = 0 To col - 1
spalte$ = DatabaseColumnName(0, n)
zeile$ = zeile$ + spalte$
If n < col - 1
zeile$ = zeile$ + ";"
EndIf
Next n
;Debug zeile$
WriteStringN(0, zeile$)
t2 = timeGetTime_()
Debug "DatabaseColumnName: " + Str(t2 - t1) + " ms"
modnr_row = 0
While NextDatabaseRow(0)
modnr_row = modnr_row + 1
zeile$ = ""
For n = 0 To col - 1
spalte$ = Trim(GetDatabaseString(0, n))
zeile$ = zeile$ + spalte$
If n < col - 1
zeile$ = zeile$ + ";"
EndIf
Next n
;Debug zeile$
WriteStringN(0, zeile$)
Wend
t2 = timeGetTime_()
Debug "NextDatabaseRow: " + Str(t2 - t1) + " ms"
CloseFile(0)
t2 = timeGetTime_()
Debug "CloseFile: " + Str(t2 - t1) + " ms"
EndIf
FinishDatabaseQuery(0)
t2 = timeGetTime_()
Debug "FinishDatabaseQuery: " + Str(t2 - t1) + " ms"
EndIf
CloseDatabase(0)
t2 = timeGetTime_()
Debug "CloseDatabase: " + Str(t2 - t1) + " ms"
EndIf
Debug "modnr_row: " + Str(modnr_row)
End
Code: Alles auswählen
OpenDatabase: 37 ms
DatabaseQuery: 56 ms
CreateFile: 56 ms
DatabaseColumnName: 57 ms
NextDatabaseRow: 60 ms
CloseFile: 61 ms
FinishDatabaseQuery: 61 ms
CloseDatabase: 10026 ms
modnr_row: 621