pragma quick_check的预期运行时间范围是多少?

时间:2016-05-10 12:43:13

标签: sqlite

我将在一个非常大的SQLite数据库上运行PRAGMA quick_check,并希望估计完成所需的时间。假设有一个相当快的硬盘或固态硬盘,是否有(棒球场)方法可以做到这一点?是O(n)还是更糟?

我显然不是在寻找准确的预测,例如“每10 GB 1到5个小时”。

2 个答案:

答案 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约束错误。

它可能非常慢。