Had*_*ifi 5 sql sql-server database-administration
我在http://www.sql-server-performance.com/2007/clustered-indexes上阅读了有关sql server数据库的提示
最后,作者提到:"由于每个表只能创建一个聚簇索引,因此请花些额外的时间仔细考虑如何使用它."
我的问题是:
*为什么在sql server中只能创建每个表的一个聚簇索引?*
Pun*_*015 14
聚簇索引:聚簇索引定义数据在磁盘上物理排序的方式.并且只能有一种方法可以在物理上对数据进行排序.因此,每个表只能有一个聚簇索引.
为什么要关心聚集索引?如果我们将聚簇索引放在表上,那么数据的检索要快得多,因为sql server不必读取整个数据 - 取决于查询.但是数据检索要快得多.
注意:虽然您可以在一个表上创建多个非聚簇索引.
小智 5
这只是SQL Server的实现决策。从理论上讲,可以有任意数量的聚簇索引。MongoDB和MyISAM没有聚簇索引,并且将数据存储在平面文件中。InnoDB for MySQL具有一个群集索引,即主键,如果未声明主键,则该索引可能会隐藏。用于MySQL和TokuMX的TokuDB(我都在其中工作)允许用户拥有多个聚簇索引,而隐式的折衷是将更多的磁盘空间用于更快的查询。
| 归档时间: |
|
| 查看次数: |
18589 次 |
| 最近记录: |