繁体   English   中英

插入带有聚簇索引的表

[英]Insert into table with clustered index

如果我没有弄错,聚集索引会根据某些自定义顺序在磁盘上物理排序表的行。 我假设表存储在文件中(每个表可能有一个文件?)。 好吧,但是,假设有人在表中插入一个“新行”,并且应该放在开头。 然后数据库需要在文件中物理移动整个表(所有行)? 是不是太慢或是否有任何优化技术如何在插入后实现排序顺序?

表不一定存储为文件。 从逻辑上讲,它们存储在页面中。 假设每个页面有100行,并且在需要时可以容纳额外的20行。 然后将所有页面链接在一起以生成整个表格数据。

在您的情况下,当您向开头添加新行时,您只需更改第一页,只需移动100行。 如果您一遍又一遍地执行此操作,当该页面的行数超过120时,该页面将被拆分为两个链接在一起的新页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM