我们有一个 QSqlQueryModel,它加载大量数据。当加载的数据大小达到1.5GB左右时,程序崩溃。我们该如何处理这种情况呢?我们可以捕获异常或限制 QSqlQueryModel 加载的数据量吗?
最佳答案
假设您的代码在 PC 硬件上运行,您始终可以尝试使用 64 位可执行文件而不是 32 位。
另一方面,您不太可能真正想要从数据库中获取 1.5GB 的数据 - 我的意思是,当然没有人会搜索如此庞大的数据量,如果您使用数据库来查找内容,那么您不应该'不需要“稍后过滤”或类似的东西,那么你就“做错了”。
通过使用SELECT x, y FROM tablename LIMIT n,m
(其中n
是“第一个元素”, >m
是你想要获取的元素数量。如果你将元素数量限制在合理的数量,即使你的实际数据非常大。
我非常怀疑“捕获异常”是一个特别有意义的想法,因为问题实际上是您“从数据库中获取大量数据”,我认为每次发生这种情况都是错误的。
关于c++ - 如何使用QSqlQueryModel处理海量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20441203/