我们有一个装载大量数据的QSqlQueryModel。当加载的数据大小达到1.5GB时,程序就会崩溃。我们如何处理这种情况?我们能捕获一个异常或者限制QSqlQueryModel加载的数据量吗?
发布于 2013-12-07 13:21:39
假设您的代码运行在PC硬件上,您可以尝试使用64位可执行文件,而不是32位。
另一方面,你不太可能真的想从数据库中获取1.5GB的数据--我的意思是,当然没有人会搜索这么大的数据,如果你使用数据库来查找东西,你不应该需要“稍后过滤”或者其他什么的,那么你就“做错了”。
例如,通过使用SELECT x, y FROM tablename LIMIT n,m限制“搜索结果”(其中n是“第一个元素”,m是要获取的元素的数量。如果将元素的数量限制在合理的数目之内,即使您的实际数据非常大。
我非常怀疑“捕捉异常”是一个特别有意义的想法,因为问题是,您“从数据库中获取了大量数据”,而每次发生这种情况,我都会说这是错误的。
https://stackoverflow.com/questions/20441203
复制相似问题