群集表最有效的内存:“选择计数*”还是“选择.. endselect”?

问题描述

我想知道哪个语句(见下文)将更有效地确定Cluster Table的大小。或至少确定表大小是否达到某个阈值{n}。 效率意味着使用更少的PSAPTEMP表空间。

集群表的问题在于,为了获取表的一项,需要在集群的多个表中查找其中一个表项的字段。因此,不仅需要查看计数表。因此,对于每个条目,都需要查找几个条目。这使得读取效率低下。

SELECT COUNT(*) 
  ... 
  UP TO {n} rows.


SELECT *
  ...
  UP TO {n} ROWS.
ENDSELECT.             `and then determine the size of the result. `

在我看来,它们似乎是等效的,但使用阈值时可能不是。限制可能会有所不同,具体取决于读取数据的方式。编辑:当然,SELECT .. ENDSELECT是一个循环,因此原则上效率较低。

但是我想知道它实际上是如何工作的,并更好地了解它们之间的区别。到目前为止,看来我将不得不尝试一下。 我认为数据库会有所不同,但大多数情况下是Oracle。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)