Wenn Sie OS X verwenden, empfehle ich Ihnen, Zeit (über die Befehlszeile in Terminal) zu verwenden, um die Ausführungszeit der Abfrage zu messen. Es ist bei weitem der einfachste Weg:
time printf "<your query>;" | sqlite3 databaseFile.db > /dev/null
Beispiel:
time printf "select * from blame;" | sqlite3 mydata.db > /dev/null
real 0m1.603s
user 0m1.167s
sys 0m0.112s
der Befehl funktioniert auch unter Linux. Wir leiten die Ausgabe an/dev/null, um Zeitverlust durch das Speichern/Drucken der Ausgabe zu vermeiden.
Es gibt einige Gemeinkosten beim Öffnen der Datenbankverbindung und beim Laden der ausführbaren Datei, aber es gibt Ihnen eine gute Vorstellung davon, wie teuer (in Bezug auf die Zeit) Ihre Anfrage ist.
Sie können eine Vorstellung von diesem Aufwand erhalten, indem so etwas wie dies zu tun:
time printf ".schema" | sqlite3 mydata.db > /dev/null
Wenn Sie ein besseres Verständnis dafür zu bekommen, was los ist, empfehle ich Ihnen das erklären Befehl zu suchen. In sqlite3 tun:
explain select * from table;
und Sie werden eine vollständige Erklärung der Operationen SQLite erwartet zu tun, um zu berechnen, eine Abfrage zu bekommen.
Sie greifen auf die Datenbank von der 'sqlite3' Kommandozeilen-Shell oder von Ihrem eigenen Programm zu? –