5.16 SQLパラレル実行機能が適用される条件
次の条件をすべて満たす場合に,検索系SQL(SELECT文)にSQLパラレル実行機能が適用されます。
SQLパラレル実行機能については,マニュアルHADB システム構築・運用ガイドのSQLパラレル実行機能を参照してください。
- ■SQLパラレル実行機能を使用するための条件
-
次のどちらかの条件を満たす必要があります。
-
クライアント定義のadb_clt_sql_parallel_execオペランドにYを指定していること。
-
SQL文にSQLパラレル実行指定を指定していること。
-
- ■実行環境に関する条件
-
次の2つの条件を満たす必要があります。
-
サーバ定義に関する条件
次の条件をすべて満たす必要があります。
-
サーバ定義のadb_sys_uthd_numオペランドに0を指定していないこと。
-
サーバ定義,またはクライアント定義のadb_sql_exe_max_rthd_numオペランドに0を指定していないこと。
-
サーバ定義のadb_sys_max_parallel_exec_numオペランドに0を指定していないこと。
-
-
検索系SQLを実行するトランザクションに関する条件
次の条件をすべて満たす必要があります。
-
トランザクションアクセスモードが読み取り専用モードであること。
-
トランザクション隔離性水準がREAD COMMITTEDであること。
-
-
- ■検索対象表に関する条件
-
検索系SQLの検索対象表(検索系SQLのFROM句に指定する実表)が,次の条件をすべて満たす必要があります。
-
検索対象表がカラムストア表であること。
-
検索対象表がマルチチャンク表であること。
-
バージョン04-03以降のHADBサーバで,検索対象表のコスト情報を収集していること。
-
検索対象表を格納しているデータ用DBエリアが,2つ以上のDBエリアファイルで構成されていること。※
- 注※
-
クラウドストレージ機能を使用している場合は該当しない条件です。
-
- ■SQL文に関する条件
-
次の条件をすべて満たす必要があります。
-
SQL文がSELECT文であること。
-
SQL文に集合演算を指定していないこと。
-
SQL文に副問合せを指定していないこと。
-
- ■SQL文中の問合せ指定に関する条件
-
次の6つの条件を満たす必要があります。
-
SELECT DISTINCTが指定されていないこと。
ただし,SELECT DISTINCTが指定されている場合でも,HADBサーバがSELECT DISTINCTの実行は不要と判断したときは,SQLパラレル実行機能が適用されます。
-
FROM句には,実表が1つだけ指定されていること。または,実表1つと,実表に対する集まり導出表だけが指定されていること。
-
GROUP BY句の指定がある場合,次の条件をすべて満たすこと。
-
グループ化方式としてグローバルハッシュグループ化が適用されていること。
-
集合関数が指定されている場合,次のどれかだけが指定されていること。
・集合関数COUNT(*)
・集合関数MIN
・集合関数MAX
・ALL集合関数COUNT
・ALL集合関数SUM
・ALL集合関数AVG
-
-
GROUP BY句の指定がない場合,次の条件をすべて満たすこと。
-
次の集合関数のどれかが1つ以上指定されていること。
・集合関数COUNT(*)
・集合関数MIN
・集合関数MAX
・ALL集合関数COUNT
・ALL集合関数SUM
・ALL集合関数AVG
-
ORDER BY句が指定されていて,ソートキーに集合関数を含む値式が指定されている場合,その値式が選択式に指定されていること。
-
-
HAVING句の指定があり,HAVING句の探索条件中に集合関数が指定されている場合,次のどれかだけが指定されていること。
-
集合関数COUNT(*)
-
集合関数MIN
-
集合関数MAX
-
ALL集合関数COUNT
-
ALL集合関数SUM
-
ALL集合関数AVG
-
-
値式は,次の条件をすべて満たすこと。
-
?パラメタを指定していないこと。
-
日時情報取得関数を指定していないこと。
-
ユーザ情報取得関数を指定していないこと。
-
次のスカラ関数を指定していないこと。
・RANDOM
・RANDOM_NORMAL
・RANDOMCURSOR
・RANDOMROW
-
同義語検索指定を指定したスカラ関数CONTAINSを指定していないこと。
-
ウィンドウ関数を指定していないこと。
-
-
- 重要
-
-
上記の条件をすべて満たしても,SQLパラレル実行機能を有効に利用できないとHADBサーバが判断した場合,検索系SQLにSQLパラレル実行機能は適用されません。
-
adbexportコマンドのSQL記述ファイルに指定したSQL文については,SQLパラレル実行機能は適用されません。
-