【问题标题】:Does UNIQUE automatically add an index?UNIQUE 会自动添加索引吗?
【发布时间】:2013-08-07 16:26:22
【问题描述】:

还是我必须手动创建索引?

CREATE TABLE pages(
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  stitle TEXT UNIQUE,
  parent INTEGER,
  FOREIGN KEY(parent) REFERENCES pages(id) ON DELETE CASCADE
);

所以我应该有 2 个索引,对吗? id 和标题

【问题讨论】:

  • 我希望如此,否则验证唯一性可能需要更长的时间。

标签: sql database sqlite indexing unique


【解决方案1】:

创建 UNIQUE 约束会自动在 UNIQUE 约束所涉及的列上创建索引。

Ref.

UNIQUE 和 PRIMARY KEY 约束都是通过创建 数据库中的索引。

....因此,通常没有优势(但开销很大) 在已经集中的一组列上创建索引时 受 UNIQUE 或 PRIMARY KEY 约束。

在您的示例中,将创建 2 个索引。

【讨论】:

    猜你喜欢
    • 2012-04-03
    • 2021-06-03
    • 2016-07-17
    • 2018-06-26
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多