【问题标题】:About index and primary key in SQL?关于 SQL 中的索引和主键?
【发布时间】:2010-12-25 04:12:48
【问题描述】:

这可能看起来是一个幼稚的问题,但我想知道大多数常见 SQL 数据库中主键和索引之间的关系。

SQL 数据库自动为每个主键创建索引是标准规则吗?

我之所以这么问,是因为我正在使用 Django 设计一个模型,我想知道同时设置 primary_key=Truedb_index=True 是否是多余的。

【问题讨论】:

    标签: sql django primary-key indexing


    【解决方案1】:

    在大多数 RDBMS 中,主键通常被实现为索引。

    这本身不是要求,而是(几乎)明显的优化。

    【讨论】:

      【解决方案2】:

      在 MySQL 中,主键是一种索引(特定的唯一索引)。

      【讨论】:

        【解决方案3】:

        是的,您可以假设 RDBMS 要求主键索引是标准规则。

        主要是,数据库引擎需要索引来强制主键的数据唯一性,而要快速做到这一点需要索引。

        【讨论】:

          【解决方案4】:

          看看这个

          如果 PRIMARY KEY 约束是 为数据库表创建并且没有 聚集索引当前存在于 该表,SQL Server 自动 在 主键

          来自SQL Server Index Tuning

          【讨论】:

            【解决方案5】:

            在MSSQL服务器中,创建主键一般会默认创建聚集索引。

            【讨论】:

              猜你喜欢
              • 2010-10-02
              • 2021-01-25
              • 1970-01-01
              • 2018-12-01
              • 2012-03-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多