Jon*_*ert 0 sql sql-server indexing rdbms clustered-index
如果我创建一个堆表并将一堆行放入其中,则每一行在数据文件中都有一个物理位置,并有一个指向该行的指针,但是它没有结构,除了精确的指针之外,无法查找任何内容到给定的行。
如果再创建一个非聚集索引,则该记录按照某种条件对这些行进行排序,那么该索引将为每一行包含其正在排序的键,我明确包括的所有列以及行指针,以便在其中查找记录时一种与索引兼容但需要索引中不包含列的方式,它确切地知道获取数据的位置,对吗?
假设这是正确的,我想了解的是:如果我然后在表上创建聚簇索引,那么堆将被重新组织,以便按聚簇索引的键对记录进行排序。这意味着可能每条记录的物理位置都会发生变化。预先存在的非聚集索引中的行指针如何跟踪它?
如果有所作为,我将使用SQL Server作为基础引擎。