実行に時間がかかっているクエリがあり、実行されないこともあります。次のようにクエリは次のとおりです。クエリ実行に非常に長い時間がかかるクエリ
SELECT id , MULTILIST01 as str from PAGE_TWO where MULTILIST01 is not null
の
SELECT id, trim(regexp_substr(str, '[^,]+', 1, LEVEL)) str
FROM (SELECT id , MULTILIST01 as str from PAGE_TWO where MULTILIST01 is not null)
WHERE trim(regexp_substr(str, '[^,]+', 1, LEVEL)) is not null
CONNECT BY instr(str, ',', 1, LEVEL -1) > 0;
結果セットは以下の通りである:私のようにすべてのコンマ区切り値を作成しようとしています外側のクエリで
ID MULTILIST01
295285 ,3434925,3434442,3436781,
212117 ,3434925,3434442,3436781,
212120 ,3434925,3434442,3436781,
6031650 ,3436781,
.
.
.
ユニークな価値外部クエリを実行すると、実行に数時間かかります。私はそれを最適化しようとしましたが、それは役に立たなかったのです。
どうすれば最適化できますか。
Oracleのバージョン情報
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
PL/SQL Release 12.1.0.2.0 - Production
CORE 12.1.0.2.0 Production
TNS for 64-bit Windows: Version 12.1.0.2.0 - Production
NLSRTL Version 12.1.0.2.0 - Production
テーブル情報
Plan hash value: 4097679000
------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1429 | 11432 | 840 (2)| 00:00:01 |
|* 1 | FILTER | | | | | |
|* 2 | CONNECT BY WITHOUT FILTERING| | | | | |
|* 3 | TABLE ACCESS FULL | PAGE_TWO | 1429 | 11432 | 840 (2)| 00:00:01 |
------------------------------------------------------------------------------------------
Query Block Name/Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$F5BB74E1
3 - SEL$F5BB74E1/[email protected]$2
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(TRIM(REGEXP_SUBSTR ("MULTILIST01",'[^,]+',1,LEVEL)) IS NOT NULL)
2 - filter(INSTR("MULTILIST01",',',1,LEVEL-1)>0)
3 - filter("MULTILIST01" IS NOT NULL)
Column Projection Information (identified by operation id):
-----------------------------------------------------------
1 - "ID"[NUMBER,22], "MULTILIST01"[VARCHAR2,1020], LEVEL[4]
2 - "ID"[NUMBER,22], "MULTILIST01"[VARCHAR2,1020], LEVEL[4]
3 - "ID"[NUMBER,22], "MULTILIST01"[VARCHAR2,1020]
表は、インデックスは、プライマリキー列(ID、CLASS)にある225個の列が含まれています説明。
この表はアジャイルPLMのものです。
[こちら](http://stackoverflow.com/questions/34975406/how-to-describe-performance-issue-in-relational-database?answertab=active#tab-top)を確認してくださいあなたが提供する必要があります.... –
私は質問を編集して、確認してください。 –