Re: Array in Sqlite3 speichern
Verfasst: Dienstag 10. März 2015, 10:37
@Kornblumberg: Bezüglich der Geschwindigkeit hatte ich doch etwas geschrieben. Natürlich hat das Auswirkungen auf die Samplerate und auch auf Schwankungen weil nicht jedes Sample wegschreiben gleich viel Zeit benötigt. Und das kann wie gesagt auch schon für das wegschreiben von einzelnen Samples in eine Datei gelten, nicht nur bei vergleichsweise hochkomplexen Datenbanken.
Der Datenbankentwurf gibt nicht mehr als eine Messung pro Datenbank her, darum nützt der auch nichts wenn man später mal einen ordentlichen macht in dem dann das geht was man braucht. Und bei Datenbanken ist das eher so das man sich da einmal am Anfang viel Gedanken macht und einen Entwurf hinlegt der dann nahezu in Stein gemeisselt ist. Geht natürlich nicht immer aber DB-Entwürfe sind in der Regel nichts was sich mit dem Programm dynamisch entwickelt, ganz einfach weil das ändern des Entwurfs und migrieren der Daten normalerweise problematischer und zeitintensiver wird, je mehr Daten man bereits in so einer Datenbank gespeichert hat.
Konkret: Schreib die Daten erst nach dem Samplen in Dateien/Datenbanken/Plots/… wenn die Samplerate möglichst hoch und die Schwankungen möglichst klein sein sollen. Setz Dich mit SQL auseinander und versuche zu verstehen warum Du die Fehlermeldung bekommst wenn Du versuchst eine ganze Liste von Werten für den Platzhalter für *einen* Wert einzusetzen. Und dann schau Dir die `Cursor.executemany()`-Methode an. (Wurde nicht alles davon schon gesagt?)
Der Datenbankentwurf gibt nicht mehr als eine Messung pro Datenbank her, darum nützt der auch nichts wenn man später mal einen ordentlichen macht in dem dann das geht was man braucht. Und bei Datenbanken ist das eher so das man sich da einmal am Anfang viel Gedanken macht und einen Entwurf hinlegt der dann nahezu in Stein gemeisselt ist. Geht natürlich nicht immer aber DB-Entwürfe sind in der Regel nichts was sich mit dem Programm dynamisch entwickelt, ganz einfach weil das ändern des Entwurfs und migrieren der Daten normalerweise problematischer und zeitintensiver wird, je mehr Daten man bereits in so einer Datenbank gespeichert hat.
Konkret: Schreib die Daten erst nach dem Samplen in Dateien/Datenbanken/Plots/… wenn die Samplerate möglichst hoch und die Schwankungen möglichst klein sein sollen. Setz Dich mit SQL auseinander und versuche zu verstehen warum Du die Fehlermeldung bekommst wenn Du versuchst eine ganze Liste von Werten für den Platzhalter für *einen* Wert einzusetzen. Und dann schau Dir die `Cursor.executemany()`-Methode an. (Wurde nicht alles davon schon gesagt?)