它不是一个设计得很好的应用程序,但它完成了工作,所以它被使用了。在过去的一周里,我一直在对其进行修改。我添加和删除了一些功能。它从 SQL 表中获取数据。根据运行情况,有时这些数据可能超过 20,000 行!
我正在考虑尝试让它一次仅将大约 500 行加载到应用程序中,因为当只有 500 行要处理时,它需要几秒钟,而不是几分钟。我正在使用 pdf,这也可能是问题的一部分,但我认为这应该不会太难实现。
问题是,我不完全确定如何实现它。我的想法是将查询限制在 0 到 500 之间,然后增加这个限制。然而,主循环检查返回的行是否为空。我怎么知道返回的行是否为空,因为它是表的最后一行而不是块的最后一行?
编辑:我很抱歉。查询很快。但是,在我对 pdf 文件执行的操作期间,这些文件本地存储在运行应用程序的文件系统上,这些操作的速度变慢了。我在想,我将 20,000 行数据拉入应用程序并让它在本地循环,这会导致速度变慢。我可能错了,但这就是我想实现分页的原因。仅在 500 行上运行程序非常快。他们都在程序开始时拉入所有行,然后使用库对 PDF 执行操作(即将此行数据放在页面上)。每行对应于 PDF 中的一个页面,因此 PDF 变得如此之大的事实也可能会减慢速度,但我会让分页工作然后报告回来。随着时间的推移,这更像是一个应用程序性能问题。