我有一个三列的表。
_id (primary key) word (unique) frequency
在SQLite.swift我创建这样的表
try db.run( userDictionary.create(ifNotExists: true) {t in
t.column(wordId, primaryKey: true)
t.column(word, unique: true)
t.column(frequency, defaultValue: 1)
})
我相信 SQLite 语法会是
CREATE TABLE "words" (
"_id" INTEGER PRIMARY KEY NOT NULL,
"word" TEXT UNIQUE NOT NULL,
"frequency" INTEGER DEFAULT 1
)
我正准备在“word”列上添加一个索引以提高性能,因为我将不得不对其进行频繁的查询。但后来我在TutorialsPoint 的 Indexes 教程中阅读了以下有趣的陈述:
隐式索引:
隐式索引是在创建对象时由数据库服务器自动创建的索引。为主键约束和唯一约束自动创建索引。
因此,由于我已经为“word”列添加了唯一约束,因此无需执行任何其他操作。那是对的吗?我试图在SQLite 文档中确认这一点,但我找不到。