Es gibt einige Spalten, für die ich Indexe erstellen möchte, um die Such- und Sortiergeschwindigkeiten zu verbessern. Wenn die Spalte als UNIQUE
markiert, zum Beispiel:Erfordert eine UNIQUE-Einschränkung die Notwendigkeit eines expliziten Index in Sqlite?
CREATE TABLE "foo" (
"bar" TEXT NOT NULL UNIQUE
)
ist die Spalte „bar“ jetzt so indiziert, dass diese:
CREATE INDEX foo_bar ON foo(bar)
wird keinen Geschwindigkeitsbonus für sucht und sortiert zur Verfügung stellen?
die Notiz über den „erheblichen Mehraufwand“ ist nicht mehr auf der SQLite-Seite zur Verfügung. Wahrscheinlich bedeutet dies, dass dies nicht mehr der Fall ist und Sie können einen expliziten Index ohne Overhead erstellen. –
@riot_starter Nun, der Overhead war nie größer als der für einen expliziten Index –
Wenn das der Overhead ist, ich denke, es ist vernachlässigbar, verglichen mit der Tatsache, dass Sie einen aussagekräftigeren Indexnamen in EXPLAIN QUERY PLAN haben, als wenn Sie verwenden der interne (vorausgesetzt, dass SQLite keinen redundanten internen Index erstellt). –