Do Clustered Index and the table on which it is created both contain the actual data?
聚集索引根据数据行的键值对表或视图中的数据行进行排序和存储。
https://msdn.microsoft.com/en-in/library/ms190457.aspx
这意味着如果一个表具有聚集索引,那么该表的行将以与聚集索引相同的顺序存储在磁盘上。
其次,聚集索引的叶节点包含创建它的表的数据页。
https://technet.microsoft.com/en-us/library/ms177443%28v=sql.105%29.aspx
所以,我的问题是,相同的数据存储在创建它的聚集索引和表中?
如果是,那么需要按与聚集索引相同的顺序对表进行排序吗?因为聚集索引本身将行级数据存储在它的叶节点中。
如果没有,那么创建聚集索引的实际理论是什么?
数据存储在聚集索引的叶级-即表数据!
它不存储在表和聚集索引中-聚集索引的叶级是表数据。
我在这里得到了答案:https://www.youtube.com/watch?V=Lysvob_A5O4
https://www.simple-talk.com/sql/performance/14-sql-server-indexing-questions-you-were-too-shy-to-ask/
聚集索引不是表的单独索引,而是表。聚集索引不像其他索引类型那样是一个单独的实体,而是一种对表进行排序并促进快速数据访问的机制。
所以,我们可以说数据存储在聚集索引中,或者数据存储在表中。两者都是一样的。