并行DML
1.以下DML语句可以被并行地执行:
DELETE
包含子查询的INSERT
MERGE
UPDATE
2.DML语句不能在以下情况下并行执行
当表上有触发器时;
当表上有自引用的外键约束,或支持迭代删除的外键约束,或延迟的约束时;
当对象类型字段被修改的时候;
当聚簇表或临时表被修改的时候;
默认情况下并行DML是被禁止的。在会话级别,可以使用下面的SQL语句启用或禁用它们。
ALTER SESSION ENABLE PARALLEL DML
ALTER SESSION DISABLE PARALLEL DML
另外,也可以使用下面的SQL语句来强制按照指定的并行度进行并行处理
ALTER SESSION FORCE PARALLEL DML PARALLEL 4
注意:必须在会话级别绝对启动并行DML的情况下,才可以并行处理DML语句,单独使用提示无法启动并行DML语句。
SELECT pdml_status FROM v$session WHERE sid=sys_context('userenv','sid')查询会话级别并行DML状态
除INSERT语句外,并行执行DML语句也需要启用并行查询。实际上,DML语句基本上是由两个操作组成的:首先找到需要
被修改的记录,然后修改这些记录。问题是,如果查找记录的部分没有并行地执
行,那么修改记录的部分就不能被并行执行。
测试记录如下:
LIBIN@orac>CREATE TABLE t AS
2 SELECT rownum AS id, rpad('*',100,'*') AS pad
3 FROM dual
4 CONNECT BY level <= 100000;
表已创建。
已用时间: 00: 00: 12.64
LIBIN@orac>
LIBIN@orac>execute dbms_stats.gather_table_stats(ownname => user, tabname => 't')
PL/SQL 过程已成功完成。
已用时间: 00: 00: 26.32
初始会话级别并行状态为DISABLED
LIBIN@orac>SELECT pdml_status
2 FROM v$session
3 WHERE /* sid = sys_context('userenv','sid') */
4 audsid = sys_context('userenv','sessionid');
PDML_STATUS
----------------
DISABLED
已用时间: 00: 00: 00.54
在会话级别查询并行状态
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.01
LIBIN@orac>
LIBIN@orac>SELECT pdml_status
2 FROM v$session
3 WHERE /* sid = sys_context('userenv','sid') */
4 audsid = sys_context('userenv','sessionid');
PDML_STATUS
----------------
DISABLED
已用时间: 00: 00: 00.54
LIBIN@orac>ALTER SESSION ENABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.01
LIBIN@orac>
LIBIN@orac>SELECT pdml_status
2 FROM v$session
3 WHERE /* sid = sys_context('userenv','sid') */
4 audsid = sys_context('userenv','sessionid');
PDML_STATUS
----------------
ENABLED
已用时间: 00: 00: 00.04
LIBIN@orac>ALTER SESSION FORCE PARALLEL DML PARALLEL 4;
会话已更改。
已用时间: 00: 00: 00.00
LIBIN@orac>
LIBIN@orac>SELECT pdml_status
2 FROM v$session
3 WHERE /* sid = sys_context('userenv','sid') */
4 audsid = sys_context('userenv','sessionid');
PDML_STATUS
----------------
FORCED
已用时间: 00: 00: 00.01
并行INSERT操作测试
首先禁用并行DML,INSERT语句无法进行并行操作
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.00
LIBIN@orac>EXPLAIN PLAN FOR INSERT INTO t SELECT * FROM t;
已解释。
已用时间: 00: 00: 00.01
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1601196873
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 100K| 10M| 350 (2)| 00:00:05 |
| 1 | TABLE ACCESS FULL| T | 100K| 10M| 350 (2)| 00:00:05 |
--------------------------------------------------------------------------
已选择8行。
已用时间: 00: 00: 00.18
LIBIN@orac>ROLLBACK;
回退已完成。
打开并行DML,INSERT语句可以进行并行操作
LIBIN@orac>ALTER SESSION FORCE PARALLEL DML PARALLEL 4;
会话已更改。
已用时间: 00: 00: 00.01
LIBIN@orac>EXPLAIN PLAN FOR INSERT INTO t SELECT * FROM t;
已解释。
已用时间: 00: 00: 00.03
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 3884603837
-----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-----------------------------------------------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 100K| 10M| 97 (2)| 00:00:02 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10001 | 100K| 10M| 97 (2)| 00:00:02 | Q1,01 | P->S | QC (RAND) |
| 3 | LOAD AS SELECT | T | | | | | Q1,01 | PCWP | |
| 4 | PX RECEIVE | | 100K| 10M| 97 (2)| 00:00:02 | Q1,01 | PCWP | |
| 5 | PX SEND ROUND-ROBIN| :TQ10000 | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | P->P | RND-ROBIN |
| 6 | PX BLOCK ITERATOR | | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| T | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | PCWP | |
-----------------------------------------------------------------------------------------------------------------
已选择14行。
已用时间: 00: 00: 00.15
LIBIN@orac>ROLLBACK;
禁用并行DML模式,在提示语句下操作情况如下,INSERT语句无法进行并行操作
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.06
LIBIN@orac>EXPLAIN PLAN FOR INSERT /*+ parallel(t 4) */ INTO t SELECT /*+ parallel(t 4) */ * FROM t;
已解释。
已用时间: 00: 00: 00.14
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 3050126167
--------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 100K| 10M| 97 (2)| 00:00:02 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM)| :TQ10000 | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | P->S | QC (RAND) |
| 3 | PX BLOCK ITERATOR | | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | PCWC | |
| 4 | TABLE ACCESS FULL| T | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | PCWP | |
--------------------------------------------------------------------------------------------------------------
已选择11行。
已用时间: 00: 00: 00.10
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.04
启用并行DML模式,在提示语句下操作情况如下,INSERT语句可以进行并行操作
LIBIN@orac>ALTER SESSION FORCE PARALLEL DML PARALLEL 4;
会话已更改。
已用时间: 00: 00: 00.00
LIBIN@orac>EXPLAIN PLAN FOR INSERT /*+ parallel(t 4) */ INTO t SELECT /*+ parallel(t 4) */ * FROM t;
已解释。
已用时间: 00: 00: 00.21
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 3884603837
-----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-----------------------------------------------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 100K| 10M| 97 (2)| 00:00:02 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10001 | 100K| 10M| 97 (2)| 00:00:02 | Q1,01 | P->S | QC (RAND) |
| 3 | LOAD AS SELECT | T | | | | | Q1,01 | PCWP | |
| 4 | PX RECEIVE | | 100K| 10M| 97 (2)| 00:00:02 | Q1,01 | PCWP | |
| 5 | PX SEND ROUND-ROBIN| :TQ10000 | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | P->P | RND-ROBIN |
| 6 | PX BLOCK ITERATOR | | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| T | 100K| 10M| 97 (2)| 00:00:02 | Q1,00 | PCWP | |
-----------------------------------------------------------------------------------------------------------------
已选择14行。
已用时间: 00: 00: 00.23
LIBIN@orac>ROLLBACK;
并行UPDATE操作
禁用DML并行模式,UPDATE 语句无法进行并行操作
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.03
LIBIN@orac>EXPLAIN PLAN FOR UPDATE t SET id = id + 1;
已解释。
已用时间: 00: 00: 00.01
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 931696821
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | 100K| 488K| 350 (2)| 00:00:05 |
| 1 | UPDATE | T | | | | |
| 2 | TABLE ACCESS FULL| T | 100K| 488K| 350 (2)| 00:00:05 |
---------------------------------------------------------------------------
已选择9行。
已用时间: 00: 00: 00.06
LIBIN@orac>ROLLBACK;
回退已完成。
打开DML并行模式,UPDATE 语句可以进行并行操作
LIBIN@orac>ALTER SESSION FORCE PARALLEL DML PARALLEL 4;
会话已更改。
已用时间: 00: 00: 00.00
LIBIN@orac>EXPLAIN PLAN FOR UPDATE t SET id = id + 1;
已解释。
已用时间: 00: 00: 00.07
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2037160838
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | 100K| 488K| 97 (2)| 00:00:02 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10000 | 100K| 488K| 97 (2)| 00:00:02 | Q1,00 | P->S | QC (RAND) |
| 3 | UPDATE | T | | | | | Q1,00 | PCWP | |
| 4 | PX BLOCK ITERATOR | | 100K| 488K| 97 (2)| 00:00:02 | Q1,00 | PCWC | |
| 5 | TABLE ACCESS FULL| T | 100K| 488K| 97 (2)| 00:00:02 | Q1,00 | PCWP | |
---------------------------------------------------------------------------------------------------------------
已选择12行。
已用时间: 00: 00: 00.06
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.06
LIBIN@orac>
当并行查询和并行DML语句都禁用时,没有操作被并行化
LIBIN@orac>ALTER SESSION DISABLE PARALLEL QUERY;
会话已更改。
已用时间: 00: 00: 00.03
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.00
LIBIN@orac>ALTER TABLE t PARALLEL 2;
表已更改。
已用时间: 00: 00: 00.45
LIBIN@orac>EXPLAIN PLAN FOR UPDATE t SET id = id + 1;
已解释。
已用时间: 00: 00: 00.10
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 931696821
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | 100K| 488K| 350 (2)| 00:00:05 |
| 1 | UPDATE | T | | | | |
| 2 | TABLE ACCESS FULL| T | 100K| 488K| 350 (2)| 00:00:05 |
---------------------------------------------------------------------------
已选择9行。
已用时间: 00: 00: 00.04
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.06
当只有并行查询被启用时,DML语句的更新部分没有并行执行
LIBIN@orac>ALTER SESSION ENABLE PARALLEL QUERY;
会话已更改。
已用时间: 00: 00: 00.03
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.01
LIBIN@orac>ALTER TABLE t PARALLEL 2;
表已更改。
已用时间: 00: 00: 00.21
LIBIN@orac>EXPLAIN PLAN FOR UPDATE t SET id = id + 1;
已解释。
已用时间: 00: 00: 00.03
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1378397380
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | 100K| 488K| 193 (1)| 00:00:03 | | | |
| 1 | UPDATE | T | | | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM)| :TQ10000 | 100K| 488K| 193 (1)| 00:00:03 | Q1,00 | P->S | QC (RAND) |
| 4 | PX BLOCK ITERATOR | | 100K| 488K| 193 (1)| 00:00:03 | Q1,00 | PCWC | |
| 5 | TABLE ACCESS FULL| T | 100K| 488K| 193 (1)| 00:00:03 | Q1,00 | PCWP | |
---------------------------------------------------------------------------------------------------------------
已选择12行。
已用时间: 00: 00: 00.06
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.25
当并行查询和并行DML语句都启用时,更新部分也可以并行地执行
LIBIN@orac>ALTER SESSION ENABLE PARALLEL QUERY;
会话已更改。
已用时间: 00: 00: 00.00
LIBIN@orac>ALTER SESSION ENABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.03
LIBIN@orac>ALTER TABLE t PARALLEL 2;
表已更改。
已用时间: 00: 00: 00.04
LIBIN@orac>EXPLAIN PLAN FOR UPDATE t SET id = id + 1;
已解释。
已用时间: 00: 00: 00.03
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2037160838
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | 100K| 488K| 193 (1)| 00:00:03 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10000 | 100K| 488K| 193 (1)| 00:00:03 | Q1,00 | P->S | QC (RAND) |
| 3 | UPDATE | T | | | | | Q1,00 | PCWP | |
| 4 | PX BLOCK ITERATOR | | 100K| 488K| 193 (1)| 00:00:03 | Q1,00 | PCWC | |
| 5 | TABLE ACCESS FULL| T | 100K| 488K| 193 (1)| 00:00:03 | Q1,00 | PCWP | |
---------------------------------------------------------------------------------------------------------------
已选择12行。
已用时间: 00: 00: 00.06
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.01
并行删除测试
禁用并行DML,则删除部分无法并行操作
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.01
LIBIN@orac>EXPLAIN PLAN FOR DELETE t;
已解释。
已用时间: 00: 00: 00.03
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 276543898
-------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------
| 0 | DELETE STATEMENT | | 100K| 193 (1)| 00:00:03 | | | |
| 1 | DELETE | T | | | | | | |
| 2 | PX COORDINATOR | | | | | | | |
| 3 | PX SEND QC (RANDOM)| :TQ10000 | 100K| 193 (1)| 00:00:03 | Q1,00 | P->S | QC (RAND) |
| 4 | PX BLOCK ITERATOR | | 100K| 193 (1)| 00:00:03 | Q1,00 | PCWC | |
| 5 | TABLE ACCESS FULL| T | 100K| 193 (1)| 00:00:03 | Q1,00 | PCWP | |
-------------------------------------------------------------------------------------------------------
已选择12行。
已用时间: 00: 00: 00.11
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.03
启用并行DML,则删除部分可以执行并行操作
LIBIN@orac>ALTER SESSION FORCE PARALLEL DML PARALLEL 4;
会话已更改。
已用时间: 00: 00: 00.01
LIBIN@orac>EXPLAIN PLAN FOR DELETE t;
已解释。
已用时间: 00: 00: 00.03
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1346169614
-------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------
| 0 | DELETE STATEMENT | | 100K| 97 (2)| 00:00:02 | | | |
| 1 | PX COORDINATOR | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10000 | 100K| 97 (2)| 00:00:02 | Q1,00 | P->S | QC (RAND) |
| 3 | DELETE | T | | | | Q1,00 | PCWP | |
| 4 | PX BLOCK ITERATOR | | 100K| 97 (2)| 00:00:02 | Q1,00 | PCWC | |
| 5 | TABLE ACCESS FULL| T | 100K| 97 (2)| 00:00:02 | Q1,00 | PCWP | |
-------------------------------------------------------------------------------------------------------
已选择12行。
已用时间: 00: 00: 00.06
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.20
LIBIN@orac>
禁用并行DML,即使加parallel注释删除部分也无法并行操作
LIBIN@orac>ALTER SESSION DISABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.00
LIBIN@orac>EXPLAIN PLAN FOR DELETE /*+ parallel(t 4) */ t;
已解释。
已用时间: 00: 00: 00.03
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 276543898
-------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------
| 0 | DELETE STATEMENT | | 100K| 97 (2)| 00:00:02 | | | |
| 1 | DELETE | T | | | | | | |
| 2 | PX COORDINATOR | | | | | | | |
| 3 | PX SEND QC (RANDOM)| :TQ10000 | 100K| 97 (2)| 00:00:02 | Q1,00 | P->S | QC (RAND) |
| 4 | PX BLOCK ITERATOR | | 100K| 97 (2)| 00:00:02 | Q1,00 | PCWC | |
| 5 | TABLE ACCESS FULL| T | 100K| 97 (2)| 00:00:02 | Q1,00 | PCWP | |
-------------------------------------------------------------------------------------------------------
已选择12行。
已用时间: 00: 00: 00.11
LIBIN@orac>ROLLBACK;
回退已完成。
已用时间: 00: 00: 00.03
启用并行DML,加parallel注释删除部分可以并行操作
LIBIN@orac>ALTER SESSION ENABLE PARALLEL DML;
会话已更改。
已用时间: 00: 00: 00.01
LIBIN@orac>EXPLAIN PLAN FOR DELETE /*+ parallel(t 4) */ t;
已解释。
已用时间: 00: 00: 00.07
LIBIN@orac>SELECT * FROM table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1346169614
-------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------
| 0 | DELETE STATEMENT | | 100K| 97 (2)| 00:00:02 | | | |
| 1 | PX COORDINATOR | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10000 | 100K| 97 (2)| 00:00:02 | Q1,00 | P->S | QC (RAND) |
| 3 | DELETE | T | | | | Q1,00 | PCWP | |
| 4 | PX BLOCK ITERATOR | | 100K| 97 (2)| 00:00:02 | Q1,00 | PCWC | |
| 5 | TABLE ACCESS FULL| T | 100K| 97 (2)| 00:00:02 | Q1,00 | PCWP | |
-------------------------------------------------------------------------------------------------------
已选择12行。
已用时间: 00: 00: 00.06