在DB2中,谓词WHERE IN的上限是多少。
例如:
选择empid为(1,2,3,4...N)的职员中的薪资
发布于 2016-07-09 00:20:25
AS/400限制在1000左右,这是基于我们超过该限制时得到的误差。我们拆分成多个较小的查询来修补我们的遗留JEE应用程序。
发布于 2014-09-01 14:25:11
有时,如果你不得不问这个问题,你可能用错了方法:-)
如果您担心限制,请考虑将这些值放入一个临时表中,然后只需连接这些表即可获得结果。
至于具体的限制,这几乎肯定会根据您使用的DB2而有所不同: LUW、z/OS、iSeries等等。它也可能因版本的不同而不同。我在网上看到过关于DB2拒绝一千多个条目的问题,但是,至于哪个平台/版本,我不能说。
你最好的办法可能是简单地测试你正在使用的任何版本,看看你什么时候达到了极限。IBM通常不倾向于发布这样的限制,相反,假设您将做明智的事情并避免太多的限制(尤其是因为优化引擎几乎不可能为任意值选择一个合适的执行路径)。
发布于 2016-05-06 19:21:35
对于z/OS,IBM给出了以下限制,但没有关于IN子句的规范:
https://stackoverflow.com/questions/25599900
复制相似问题