【发布时间】:2009-08-08 00:58:01
【问题描述】:
作为一组递归任务的一部分,我正在为子结果过滤 DAO 记录集。我正在尝试加快例程的速度,并且可以看到每次实例化类对象时都会重新打开记录集。这一步发生了数百次。没有办法重复使用吗?这里的关键词是坚持,不是吗?
我尝试在 Instantiate 事件中设置记录集,或者在函数中设置。我尝试使用静态(而不是暗淡或私有)来声明记录集。我还摆弄了如何声明和设置类对象。
我知道一个常见的解决方案是为每个调用更改为特定的 SQL 源,但是生成记录集的查询本身很慢,所以我认为这没有帮助。是的,基表是最佳索引的。
我很高兴发布代码,但这足以让您提供任何提示吗?
【问题讨论】:
-
请注意,索引 Yes/No aka Booklean 字段也有助于提高性能。例如,在包含 2000 条记录的作业表上索引“是/否”字段会在查询中产生很大的性能差异,该查询还包含具有 80 万条记录的表。
-
我将索引放置在有排序/过滤器的地方......所以如果一个 Y/N 字段将被排序或过滤,那么它会得到一个索引。你的意思是它有助于索引一个 Y/N,即使它没有进入查询处理?还是您只是说 Y/N 需要像任何其他字段一样建立索引,如果它是查询处理的一部分?