Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于SQL中的索引和主键?_Sql_Django_Primary Key_Indexing - Fatal编程技术网

关于SQL中的索引和主键?

关于SQL中的索引和主键?,sql,django,primary-key,indexing,Sql,Django,Primary Key,Indexing,这可能看起来是个幼稚的问题,但我想知道大多数常见SQL数据库中主键和索引之间的关系 自动为每个主键创建索引是SQL数据库的标准规则吗 我问这个问题是因为我正在用Django设计一个模型,我想知道在MSSQL server中同时设置primary_key=True和db_index=True是否是多余的,在默认情况下创建一个主键通常会创建一个聚集索引。看看这个 如果主键约束为 已为数据库表创建,但没有 当前存在的聚集索引用于 该表中,SQL Server会自动 在上创建聚集索引 主键 从是,您可以

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

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


我问这个问题是因为我正在用Django设计一个模型,我想知道在MSSQL server中同时设置
primary_key=True
db_index=True
是否是多余的,在默认情况下创建一个主键通常会创建一个聚集索引。

看看这个

如果主键约束为 已为数据库表创建,但没有 当前存在的聚集索引用于 该表中,SQL Server会自动 在上创建聚集索引 主键


是,您可以假设RDBMS需要主键索引是一条标准规则


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

在MySQL中,主键是一种索引类型(特别是唯一索引)。

在大多数RDBMS中,主键通常是作为索引实现的

这本身不是一个要求,而是一个(相当)明显的优化