14
有些列希望创建索引以提高查找和排序速度。如果该列被标记为UNIQUE
,例如:UNIQUE约束是否在Sqlite中不需要显式索引?
CREATE TABLE "foo" (
"bar" TEXT NOT NULL UNIQUE
)
是列“酒吧”现在索引以这样的方式,这个:
CREATE INDEX foo_bar ON foo(bar)
将提供搜索和排序没有速度奖金?
有些列希望创建索引以提高查找和排序速度。如果该列被标记为UNIQUE
,例如:UNIQUE约束是否在Sqlite中不需要显式索引?
CREATE TABLE "foo" (
"bar" TEXT NOT NULL UNIQUE
)
是列“酒吧”现在索引以这样的方式,这个:
CREATE INDEX foo_bar ON foo(bar)
将提供搜索和排序没有速度奖金?
UNIQUE
和PRIMARY KEY
约束确实创建了一个内部索引来加速查找,因此您不需要创建自己的查询。
(请参阅documentation)
有关“重要开销”的说明不再可用于SQLite页面。这可能意味着这不再是这种情况,您可以创建一个明确的索引而不会产生任何开销。 –
@riot_starter那么,开销从来没有比明确的索引大 –
如果这是开销,我认为这是微不足道的,相比之下,事实上,你可以在EXPLAIN QUERY PLAN中有一个更有意义的索引名称,比使用(尽管SQLite不会创建冗余的内部索引) –