vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Zeitfressende SQLite-Datenbank 
Autor: Bitschieber
Datum: 23.06.08 13:25

Hallo Forum,

ich habe ein Problem, zu dem ich trotz Forumsuche leider keine Lösung fand und nun gediegen ratlos bin:

Ich hatte mir unter Access2003 eine kleine Datenbank geschrieben, die meine MP3-Sammlung verwaltet. Hierzu habe ich mit der Dll "Audiogenie" von Stefan Töngi die Tag-Infos (14 Infos) ausgelesen und in mehreren Tabellen abgespeichert. Auf meinem ALt-PC (AMD Athlon XP 2800, 512MB RAM, Win2k mit SP4, Office 2003 mit SP3) brauchte die DB für das Einlesen der Tag-Infos von meiner Sammlung (ca. 30.000 MP3-Files) etwa 7min - zufriedenstellend.

Da sich nun einige Kollegen dafür interessierten, wollte ich die DB unter VB2005 Express umsetzen, damit sie auch ohne Access läuft. Als Datenbank verwende ich SQLite, da ich mehrfach gelesen habe, dass sie rasend schnell sein soll.
Und jetzt kommts:
Auf meinem Notebook (Acer Travelmate5520, AMD-Turion DualCore 1,9GHz, WinXP Home mit SP3, 1GBRam, VB2005Express mit SP1) nudelte mein Progrämmchen an einem Verzeichnis mit 100 MP3-Files ca. 1min rum!!!!

Auf der Suche nach dem Zeitfresser habe ich die SQLite-DB ausgemacht und sie einem kleinen Test unterzogen (TabTest ist eine 2-spaltige Tabelle in der SQLite-DB ohne Index; beide Spalten als VarChar(100))
Imports System
Imports System.IO
Imports System.Data.Sqlite
 
Modul Versuch
 
Sub Test()
 
Dim SQLConnStr As String = "DataSource = Verbindung zur DB"
Dim SQLConn As New SQLite.SQLiteConnection(SQLConnStr)
Dim SQLComm As New SOLite.SQLiteCommand("String", SQLConn)
Dim DA As New SQLite.SQLiteDataAdapter(SQLComm)
Dim DS As New DataSet, X As Integer
 
Dim iTime as New System.Diagnostics.Stopwatch
iTime.Start()
'*********
SQLConn.Open()
For X = 0 To 1000
SQLComm.CoammandText = "INSERT INTO TabTest VALUES ('abcdefghijklmnop'," & _
  "'wertzuiopasdfghjklö')"
SQLComm.ExecuteNonQuery()
Next
SQLConn.Close()
'*********
iTime.Stop()
MsgBox(iTime.ElapsedMilliseconds)
iTime.Reset()
 
End Sub
 
End Modul
Nach dem Schreiben der 1001 Zeilen wird in der MsgBox die Zahl 128935 angezeigt - die DB hat also für diese kleinen Datenmenge satte zwei Minuten gebraucht!
Wenn ich den Quellcode zwischen den Sternchen durch folgenden ersetze:

'*********
SQLComm.CoammandText = "SELECT * FROM TabTest"
DA.Fill(DS)
 
Dim tbl as DataTable = DS.Tables(0)
Dim row as DataRow = tbl.NewRow()
For X = 0 To 1000
row(Spalte1) = "abcdefghijklmnop" & X
row(Spalte2) = "wertzuiopasdfghjklö"
tbl.Rows.Add()
Next
 
iTime.Stop()
MsgBox(iTime.ElapsedMilliseconds)
 
Dim Cmd As New SQLite.SQLiteCommandBuilder
DA.Update(DS)
'*********
Dann werden mir in der ersten MsgBox 14 angezeigt (ganz ordentlich - so sollte es sein) und in der zweiten 111009, d.h. die SQLite-DB hat wieder fast 2min genudelt! Ausserdem sind die Datenzeilen leer, d.h wenn ich mir TabTest ansehe, dann stehen da nur Null-Werte. Woher kommt denn das?

Ich weiß leider nicht weiter und bitte um Hilfe - schon mal vielen Dank

Bitschieber
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zeitfressende SQLite-Datenbank3.646Bitschieber23.06.08 13:25
Re: Zeitfressende SQLite-Datenbank2.974Jonny13223.06.08 13:43
Re: Zeitfressende SQLite-Datenbank2.974GhostRE23.06.08 13:51
Re: Zeitfressende SQLite-Datenbank2.766Bitschieber23.06.08 14:28
Re: Zeitfressende SQLite-Datenbank2.772GhostRE23.06.08 14:43
Re: Zeitfressende SQLite-Datenbank2.848Bitschieber23.06.08 15:11
Re: Zeitfressende SQLite-Datenbank2.739Bitschieber23.06.08 14:01
Re: Zeitfressende SQLite-Datenbank2.833Jonny13223.06.08 13:53
Re: Zeitfressende SQLite-Datenbank2.807ModeratorFZelle23.06.08 16:23
Re: Zeitfressende SQLite-Datenbank2.777Bitschieber23.06.08 17:30
Re: Zeitfressende SQLite-Datenbank2.918ModeratorFZelle23.06.08 18:50
Re: Zeitfressende SQLite-Datenbank3.028Bitschieber24.06.08 15:00
Re: Zeitfressende SQLite-Datenbank2.901GhostRE24.06.08 15:09
Re: Zeitfressende SQLite-Datenbank2.712Bitschieber24.06.08 15:22
Re: Zeitfressende SQLite-Datenbank2.739Bitschieber24.06.08 15:31
Re: Zeitfressende SQLite-Datenbank2.776ModeratorFZelle24.06.08 17:52
Re: Zeitfressende SQLite-Datenbank2.797Bitschieber25.06.08 10:10
Re: Zeitfressende SQLite-Datenbank2.793ModeratorDieter25.06.08 16:01
Re: Zeitfressende SQLite-Datenbank2.756Bitschieber25.06.08 17:35
Re: Zeitfressende SQLite-Datenbank2.788ModeratorDieter25.06.08 17:51
Re: Zeitfressende SQLite-Datenbank2.738ModeratorFZelle25.06.08 17:11
Re: Zeitfressende SQLite-Datenbank2.782Bitschieber25.06.08 17:40

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel