Automatické indexování bylo zavedeno ve sqlite 3.7.17. Verze sqlite s touto funkcí byla zahrnuta pouze ve vývojářském náhledu Android L. To je důvod, proč dostanete zprávu pouze na Lollipop, ale ne dříve. I když je zaznamenána jako chyba, je to ve skutečnosti jen zpráva.
V zásadě automatické indexování přichází do hry, když provádíte vyhledávání v neindexovaných sloupcích. sqlite předpokládá, že existuje tolik dat, že generování dočasného indexu je levnější než nezpracované vyhledávání.
Zvažte přidání explicitních, trvalých indexů pro vaše vyhledávací sloupce pomocí CREATE INDEX
. Například za CREATE TABLE
:
CREATE INDEX indexname ON tablename(columnname);
kde můžete vybrat tablename(columnname)
ze zpráv autoindexu vytvořených sqlite.
Pokud chcete pouze zpět staré chování, můžete deaktivovat automatické indexování pomocí
PRAGMA automatic_index=off;