我将在一个非常大的SQLite数据库上运行PRAGMA quick_check
,并希望估计完成所需的时间。假设有一个相当快的硬盘或固态硬盘,是否有(棒球场)方法可以做到这一点?是O(n)还是更糟?
我显然不是在寻找准确的预测,例如“每10 GB 1到5个小时”。
答案 0 :(得分:0)
这不是一个答案,而是作为参考点,直到比我更有知识的人能够提供更一般的答案。
一个90GB的sqlite3数据库(1个表,1个索引,20米行)在我的中档SSD上花了13个小时,内存为16 GB,运行Windows7 / NTFS。这个过程显然是磁盘绑定的。
假设线性相关性,则每千兆字节<10>分钟。
根据我在网上找到的几页,完整PRAGMA check_integrity
大约需要8倍(1小时/ GB)。
答案 1 :(得分:0)
quick_check检查无序记录,缺少页面,格式错误的记录和CHECK,以及NOT NULL约束错误。
它可能非常慢。