User Passwort
 Passwort speichern Passwort vergessen?
 
 
 
 Alle Foren
 PDA-Dev :: Windows Mobile
 C#
 Alternative zu SQL Compact Datebank

Hinweis: Sie müssen sich registrieren, um eine Antwort schreiben zu können.
Um sich zu registrieren, klicken Sie hier. Die Registrierung ist kostenlos!

Auflösung:
Benutzer:
Passwort:
Funktion:
Format: FettKursivUnterstreichenDurchstreichen Links ausrichtenZentrierenRechts ausrichten Horizontale Line Hyperlink einfügenEmail einfügenBild einfügen Code einfügenZitat einfügenListe einfügen Spoiler einfügen Infos zur Code-Formatierung
   
Nachricht:

Smilies
Achtung [!] Aufgeregt [angry] Big Smile [:D] Computer... [comp]
Durchgedreht [O] Idee [i!] Jubel [jump] Ratlos [:I?]
Schüchtern [8)] Smile [:)] Sprachlos [:O!] Traurig [:(]
Wütend [:(!] Zunge [:P] Zustimmung [^] Zwinkern [;)]

     HTML ist AUS | Forum Code ist AN
Tags:
Bereits vorhandene Tags: patek philippe fake SQLite
Wiederholen Sie wichtige Tags oder fügen Sie neue Tags hinzu.
Trennen Sie mehrere Tags durch Kommas voneinander ab.

  Signatur anhängen.
Dieses Thema abonnieren.
    

  Übersicht  
j4n
Erstellt am: 07.05.2010 : 14:20:30 Uhr
Guten Mittag zusammen,
ich bin mehr oder weniger ein Programmierneuling und habe eine art wörterbuch (deutsch englisch) programmiert.
Die Datensatzanzahl beläuft sich auf 2 Spalten mit ca 700 000 zeilen.
habe bemerkt, dass die abfrage ziemlich langsam ist...kein wunder bei den datensätzen.
Was wäre denn eine sinnvolle und "einfache" methode, einer schnelleren Datenzugriff zu ermöglichen.
die datenbank liegt anfänglich (tab delimted) in txt. datei form da...diese lese ich auch und trage sie in die sql db ein.
dieser vorgang soll am pc geschehen...da es doch ziemlich lange dauert.
die abfrage, das eigentliche programm also natürlich auf dem PDA.
Wenn ich direkt in der txt suche gehts ein wenig schneller, wobei ich da liniear gesucht habe, eine optimierte suche wäre die Binäre Suche.
Was würdet ihr mir raten?
grüße Jan
Die 2 letzen Antworten (Neue zuerst)
j4n
Erstellt am: 08.05.2010 : 16:54:10 Uhr
Nein, Indizes hatte ich bisher nicht, habe aber erfahren, dass ein select mit indizes wohl schneller ist.
bisherige suchmethode, welche ich wohl auf indizes abändern werde:
 
string query = cmd.CommandText = "SELECT E FROM Dictionary Where D LIKE '" + suchwort +"'";
SqlCeCommand myCommand = new SqlCeCommand(query, OpenSQLDB._conn);
SqlCeDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
_f1.listBox1.Items.Add(myReader.GetString(0));
}
myReader.Close();
 
..das eintragen in die listbox ist nur vorrübergehend zum test...habe mir sagen lassen ich soll das mit nem databinding machen..wie auch immer das geht/das bringen soll
so öffne ich die db:
 
CurrentFile = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName + "\\Dictionary.sdf";
SqlCeConnection _conn = new SqlCeConnection("Data Source=" + CreateDB.CurrentFile);
 
robert.wachtel
Erstellt am: 08.05.2010 : 00:31:14 Uhr
Dass alle notwendigen Indizes gesetzt sind, setze ich jetzt einfach mal voraus.
Wie erfolgt der Zugriff auf die Datenbank und wie wird die Suche durchgeführt?
Eventuell wäre SQLite eine Alternative - bevorzuge ich mittlerweile eigentlich immer, wo keine speziellen Replikationsszenarien mit dem MS SQL Server benötigt werden.



pda-dev.de

Quicklinks: Foren-Übersicht | Developer-News | Suche | Impressum

© just-works! Software

Zum Anfang der Seite

Snitz Forums 2000