Die automatische Indizierung wurde in SQLite 3.7.17 eingeführt. Eine Version von sqlite mit dieser Funktion war nur in der Entwicklervorschau von Android L enthalten. Aus diesem Grund erhalten Sie die Nachricht nur auf Lollipop, aber nicht früher. Auch wenn es als Fehler protokolliert wird, ist es wirklich nur eine Meldung.
Grundsätzlich kommt die automatische Indizierung ins Spiel, wenn Sie nach nicht indizierten Spalten suchen. sqlite geht davon aus, dass es so viele Daten gibt, dass das Generieren eines temporären Indexes billiger ist als eine reine Suche.
Erwägen Sie das Hinzufügen expliziter, permanenter Indizes für Ihre Nachschlagespalten mit CREATE INDEX
. Zum Beispiel nach Ihrem CREATE TABLE
:
CREATE INDEX indexname ON tablename(columnname);
wo Sie tablename(columnname)
auswählen können aus den Autoindex-Meldungen, wie sie von sqlite erzeugt werden.
Wenn Sie nur das alte Verhalten wiederherstellen möchten, können Sie die automatische Indizierung mit
deaktivierenPRAGMA automatic_index=off;