Automatisk indeksering blev introduceret i sqlite 3.7.17. En version af sqlite med denne funktion var kun inkluderet i forhåndsvisning af Android L-udviklere. Det er derfor, du kun får beskeden på Lollipop, men ikke tidligere. Selvom det er logget som en fejl, er det egentlig bare en besked.
Grundlæggende kommer den automatiske indeksering i spil, når du laver opslag på ikke-indekserede kolonner. sqlite antager, at der er så mange data, at generering af et midlertidigt indeks er billigere end rå opslag.
Overvej at tilføje eksplicitte, permanente indekser til dine opslagskolonner med CREATE INDEX
. For eksempel efter din CREATE TABLE
:
CREATE INDEX indexname ON tablename(columnname);
hvor du kan vælge tablename(columnname)
fra autoindex-meddelelserne som produceret af sqlite.
Hvis du bare vil have den gamle adfærd tilbage, kan du deaktivere automatisk indeksering med
PRAGMA automatic_index=off;