SQLite DB auslesen. Iteriere Tabelle, Spalte oder Zeile?

T_55

Lieutenant
Registriert
Feb. 2013
Beiträge
643
Hallo,

in Programmen ist es wohl schneller möglichst dicht bepackte Daten zu iterieren. Kann man das Prinzip auch auf eine Datenbank beziehen?

Ich hab eine SQLite DB-Datei mit ein paar Tabellen mit jeweils einigen Spalten und sehr vielen Zeilen.
Macht es Sinn die Zeilen jeder Spalte einzelnd zu iterieren oder wie ist es am schnellsten die Daten rauszuziehen? Die Daten sollen nur ganz simple in eine genau gleiche Strukur eines Programms eingelesen werden.
Vielleicht hängt es auch davon ab wie die Daten reingeschrieben wurden... Am Sinnvollsten wäre wahrscheinlich in der Reihenfolge wie sie auf der Platte liegen. Aber wie liegen die Daten auf der Platte?

Grüße
 
SQLite nutzt eine normale Datei zum persistenten Speichern.
Am Ende des Tages: "SELECT * FROM tabelle" und fertig.
 
Welche Programmiersprache und welche Datenbankzugriffsschicht benutzt du denn? Normalerweise gibt's da die Möglichkeit, alle Zeilen eines SELECT-Ergebnisses auf einmal auszulesen. Und wenn du nicht extreme Performance-Anforderungen hast, ist es normalerweise unnötig, sich um die Performance der Datenbank Gedanken zu machen (die Performance der Datenbank_abfragen_ ist wesentlich wichtiger, aber an einem einfachen SELECT * FROM ... lässt sich eh nicht groß was beschleunigen).
 
In C++. Ja wahrscheinlich zu viel Gedanken als nötig aber hätte mich mal interessiert obs da gröbere Unterschiede gibt. Was ich seit einiger Zeit mache und auf jeden Fall enorm was gebracht hat, ist mit BEGIN TRANSACTION und COMMIT TRANSAKTION zu arbeiten. Und sqlite3_open ausserhalb von Schleifen aber das ist klar.
 
Ich finde so schnell nix in den FAQs, dass sie irgendwas spezielles machen, oder promoten. Deswegen gehe ich vom default Fall aus: zeilenweise Speicherung.
 
Zurück
Oben