1

質問があります

SELECT [whatever] FROM [somewhere] WHERE [someValue] IN [value1, valeue2, ..., valueN]

Oracle 10g データベースでの N の最大サイズは (上記の valueN から)? 10kまたは50kまで高くなる可能性がありますか?

4

4 に答える 4

3

IN条件の「式リスト」バージョンを使用している場合、値のリストを囲む角かっこが欠落しているにもかかわらず、質問からのケースのように見えます。式リスト自体によって制限されます。

式のコンマ区切りリストには、1000個以下の式を含めることができます。式のセットのコンマ区切りリストには、任意の数のセットを含めることができますが、各セットには10​​00個以下の式を含めることができます。

サブクエリバージョンを使用している場合は、システムリソース以外に制限はありません。

于 2012-07-10T11:32:33.480 に答える
3

Oracle では、マニュアルに記載されているように、IN 句に対して 1000 要素の固定制限があります。

http://docs.oracle.com/cd/E11882_01/server.112/e26088/conditions013.htm#i1050801

expression_list には最大 1000 個の式を指定できます。

于 2012-07-10T11:30:40.073 に答える
2

このスレッドは、制限が 1000 であることを示唆しています。ただし、そこに行かず、代わりにテーブルに値を配置し、クエリをサブセレクトに変えることをお勧めします。よりすっきりと、より柔軟に、より優れたパフォーマンスを実現します。

于 2012-07-10T11:35:18.873 に答える
-1

これは、その特定の列にある行数によって異なります。場合によっては、テーブルに何百万ものレコードがある可能性があります。

于 2012-07-10T11:29:04.753 に答える