由于SQL Server中主键的默认聚集索引,搜索表中的主键列是否比搜索非主键列更快?
发布于 2018-06-26 16:18:55
从上一个问题:“我们为表指定键的原因主要是为了提高数据的完整性和数据的有用性。键保证表没有重复数据,因此它们允许数据的用户/使用者正确地识别信息。DBMS查询优化器和存储引擎旨在利用键,因此拥有键也将使您的DBMS有最好的机会有效地执行某些查询,但不能保证添加键在所有情况下都能提高性能。”
也就是说,索引的存在应该会在大多数情况下使搜索速度更快,但与键本身无关
发布于 2018-06-26 16:17:57
根据索引进行搜索通常比不使用索引进行搜索更快(除非您的表非常小,或者索引的情况很糟糕)。此索引还支持主键这一事实与本文的讨论无关。
发布于 2018-06-26 16:19:11
一般而言,关系数据库将被优化以有效地使用主键,但是您的数据库结构、您的查询以及哪个平台上的数据库引擎都将是影响性能的主要因素。
此外,如果未对非主键列编制索引,则无论您的查询如何,它的速度都会降低几个数量级。
https://stackoverflow.com/questions/51038047
复制相似问题