我应该在UNIQUE列上创建索引吗?

时间:2014-03-12 19:52:33

标签: sqlite indexing unique-constraint

在SQLite中,给出一个像

这样的表
CREATE TABLE t (
    id INTEGER PRIMARY KEY,
    v  STRING  UNIQUE COLLATE NOCASE
)

v上添加显式索引是否有用?

CREATE UNIQUE INDEX idx_t_v ON t (v COLLATE NOCASE);

2 个答案:

答案 0 :(得分:1)

对于UNIQUE(或INTEGER以外的PRIMARY KEY)约束,SQLite会自动创建索引。

在同一列上创建第二个索引只会浪费空间,除非您想使用不同的排序规则或多列索引。

答案 1 :(得分:-1)

索引允许数据库应用程序快速查找数据,而无需读取整个表。它们仅用于加速搜索/查询。唯一键用于唯一标识列。您可以使用唯一键上的索引来有效执行