gpt4 book ai didi

ios - 从 iOS 中的数据库中删除某些行后,Sqlite 文件大小不会减小

转载 作者:IT王子 更新时间:2023-10-29 06:29:10 26 4
gpt4 key购买 nike

在删除一些行后,我正在以编程方式尝试检查存储在 iphone 上的 SQLite 数据库的大小。记录被删除,但文件大小保持不变。从 iOS 中的 sqlite 中删除记录后,有什么方法可以获得正确的文件大小?请看下面的代码:

NSString* databasePath = [[NSString alloc]
initWithString: [self.documentsDirectory stringByAppendingPathComponent: self.databaseFilename]];
unsigned long long fileSize = [[[NSFileManager defaultManager]
attributesOfItemAtPath:databasePath error:nil] fileSize];

谢谢!

我不能使用 vaccum 方法,因为它会删除所有记录。我只删除了 50% 的数据,而不是全部。所以这不是这个问题的重复 change sqlite file size after "DELETE FROM table"

最佳答案

删除记录后,SQLite 数据库文件的大小不一定会缩小。如果未启用 auto_vacuum,它将永远不会收缩,除非您对其执行真空操作。

参见 https://sqlite.org/lang_vacuum.htmlhttps://sqlite.org/pragma.html#pragma_auto_vacuum .

关于ios - 从 iOS 中的数据库中删除某些行后,Sqlite 文件大小不会减小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35787220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com