sqlite如何存储其内容

从我的Google,sqlite不支持聚簇索引(参见四:聚集索引),但我不明白的是:   这意味着如果您的索引是   顺序INTEGER,记录是   物理布局在数据库中   INTEGERs订购,然后是2然后是3。 如果从包含顺序int索引的表中删除某些记录,则放置新插入的记录?据我所知,记录int ID只会增长,所以记录会附加到尾部,对吗?这是否意味着删除的地方被浪费了? 在没有顺序INTEGER索引的情况下,sqlite表是堆表吗?即记录将被放置在首次找到可用空间的位置。     
已邀请:
1)对,记录将发生在尾部。是的,如果数据库引擎无法轻松重复使用,则可能会浪费已删除的位置。使用命令VACUUM压缩数据库时,将删除未使用的位置。 2)是的,这样的SQL表是一个堆表。但是,准确地使用索引(任何类型)来访问数据,就像记录被分类一样。索引是链接到记录的排序值。但新记录不一定放在首次找到自由空间的地方。它们被放置在数据库引擎填充好的位置,以考虑未使用的空间和时间来编写二进制数据(在队列中发生比在中间插入更快)。     

要回复问题请先登录注册