问题描述
我们注意到,带有CLOB的大表插入物在12c上花费的时间比11g多。插入是在在线事务处理期间,我们将数据从一个业务部门复制到另一个业务部门。特别是有一张表需要更长的时间。为了调试这个,我在通用表上创建了一个简单的插入脚本
设置线形200
将服务器输出设置为
设置时间开启
设置时间开启
设置回声打开
从DUAL中选择systimetamp;
列产品格式a45
列版本格式a12
从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
创建表TMP_TEST_LARGE_ROWS_CLOB
(Id号,CLOB_VALUE CLOB,RANDOM_STRING VARCHAR2(100));
开始
对于我在1 .. 1000循环
插入到TMP_TEST_LARGE_ROWS_CLOB中
(id,clob_value,random_string)
选择
i * rownum id,
DBMS_RANDOM.string ('B',500),
DBMS_RANDOM.string (“a”,20)
从双重
通过rownum连接 <= 1000;
提交;
结束循环;
结束;
/
以下是11g和12c的结果。
11g
21:49:41 SQL> 从DUAL中选择systimetamp;
系统戳
-
26-AUG-17 09.49.41.912231下午-07:00
逝去: 00:00:00。02
21:49:41 SQL>
21:49:41 SQL> 列产品格式a45
21:49:41 SQL> 列版本格式a12
21:49:41 SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库11g企业版11.2.0.3.0
经过: 00:00:00。10
21:49:42 SQL>
21:49:42 SQL>
21:49:42 SQL> 创建表TMP_TEST_LARGE_ROWS_CLOB
21:49:42 2 (Id号,CLOB_VALUE CLOB,RANDOM_STRING VARCHAR2(100));
创建的表。
逝去: 00:00:00.26
21:49:42 SQL>
21:49:42 SQL> 开始
21:49:42 2 对于我在1 .. 1000循环
21:49:42 3 插入到TMP_TEST_LARGE_ROWS_CLOB中
21:49:42 4 (id,clob_value,random_string)
21:49:42 5 选择
21:49:42 6 i * rownum id,
21:49:42 7 DBMS_RANDOM.string ('B',500),
21:49:42 8 DBMS_RANDOM.string (“a”,20)
21:49:42 9 从双重
21:49:42 10 通过rownum连接 <= 1000;
21:49:42 11 提交;
21:49:42 12 结束循环;
21:49:42 13 结束;
21:49:42 14/
PL/SQL过程成功完成。
逝去: 00:14:47.99
22:04:30 SQL>
22:04:30 SQL> 假脱机
12c
21:51:10 SQL> 从DUAL中选择systimetamp;
系统戳
-
26-AUG-17 09.51.10.638013下午-07:00
逝去: 00:00:00。00
21:51:10 SQL>
21:51:10 SQL> 列产品格式a45
21:51:10 SQL> 列版本格式a12
21:51:10 SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库12c企业版12.1.0.2.0
逝去: 00:00:00。01
21:51:10 SQL>
21:51:10 SQL>
21:51:10 SQL> 创建表TMP_TEST_LARGE_ROWS_CLOB
21:51:10 2 (Id号,CLOB_VALUE CLOB,RANDOM_STRING VARCHAR2(100));
创建的表。
逝去: 00:00:00。02
21:51:10 SQL>
21:51:10 SQL> 开始
21:51:10 2 对于我在1 .. 1000循环
21:51:10 3 插入到TMP_TEST_LARGE_ROWS_CLOB中
21:51:10 4 (id,clob_value,random_string)
21:51:10 5 选择
21:51:10 6 i * rownum id,
21:51:10 7 DBMS_RANDOM.string ('B',500),
21:51:10 8 DBMS_RANDOM.string (“a”,20)
21:51:10 9 从双重
21:51:10 10 通过rownum连接 <= 1000;
21:51:10 11 提交;
21:51:10 12 结束循环;
21:51:10 13 结束;
21:51:10 14/
PL/SQL过程成功完成。
经过: 00:46:05。83
22:37:16 SQL> 假脱机
同样,这只是一个例子,只是为了说明在一个循环中创建一百万行在12c中比11g慢得多。我们所面对的实际表格:
-有FK引用,因此不能使用附加提示。也有几个触发器
-从UI以多种方式更新表-插入1或2行或在业务部门复制期间,其中使用Insert... select... 子句批量插入记录。
附加信息:
我无法粘贴v $ 参数中的所有参数,因为它超过20000个字符。如果需要,我可以提供任何特定参数集的值。
我们想尽快迁移到12c,不想更改很多这样的插入,这些插入在各种PL/SQL包过程中。
任何关于为什么需要更多时间的帮助或建议将不胜感激。
在我得到上述结果的我们的测试实例中,12c实例具有更多的内存和sga大小
12C:
sga_max_size 85899345920
sga_target 85899345920
11g:
sga_max_size 10737418240
sga_target 10737418240
根据要求,以下是补充信息。
11g
SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库11g企业版11.2.0.3.0
SQL>
SQL> 从dual中选择dbms_metaada.get_ddl ('TABLE','tmp_test_large_row_clob ',user);
Dbms_metaada.get_ddl ('表','tmp_test_large_row_clob',用户)
-
创建表 “应用”。“TMP_TEST_LARGE_ROWS_CLOB”
(“身份证” 号码,
“CLOB _ 值” CLOB,
"RANDOM_STRING" VARCHAR2(100)
) 分段立即创建
PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255
NOCOMPRESS NOLOGGING
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0自由主义者1自由主义者组1
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)
表空间 “应用 _ dat”
LOB (“CLOB_VALUE”) 存储为基本文件 (
表空间 “应用 _ dat” ENABLE STORAGE IN ROW CHUNK 16384 RETENTION
NOCACHE NOLOGGING
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0自由主义者1自由主义者组1
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认))
12c
SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库12c企业版12.1.0.2.0
SQL>
SQL> 从dual中选择dbms_metaada.get_ddl ('TABLE','tmp_test_large_row_clob ',user);
Dbms_metaada.get_ddl ('表','tmp_test_large_row_clob',用户)
-
创建表 “应用”。“TMP_TEST_LARGE_ROWS_CLOB”
(“身份证” 号码,
“CLOB _ 值” CLOB,
"RANDOM_STRING" VARCHAR2(100)
) 分段立即创建
PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255
NOCOMPRESS NOLOGGING
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0自由主义者1自由主义者组1
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)
表空间 “应用 _ dat”
LOB (“CLOB_VALUE”) 存储为安全文件 (
表空间 “应用 _ dat” ENABLE STORAGE IN ROW CHUNK 16384
NOCACHE NOLOGGING NOCOMPRESS KEEP_DUPLICATES
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认))
设置线形200
将服务器输出设置为
设置时间开启
设置时间开启
设置回声打开
从DUAL中选择systimetamp;
列产品格式a45
列版本格式a12
从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
创建表TMP_TEST_LARGE_ROWS_CLOB
(Id号,CLOB_VALUE CLOB,RANDOM_STRING VARCHAR2(100));
开始
对于我在1 .. 1000循环
插入到TMP_TEST_LARGE_ROWS_CLOB中
(id,clob_value,random_string)
选择
i * rownum id,
DBMS_RANDOM.string ('B',500),
DBMS_RANDOM.string (“a”,20)
从双重
通过rownum连接 <= 1000;
提交;
结束循环;
结束;
/
以下是11g和12c的结果。
11g
21:49:41 SQL> 从DUAL中选择systimetamp;
系统戳
-
26-AUG-17 09.49.41.912231下午-07:00
逝去: 00:00:00。02
21:49:41 SQL>
21:49:41 SQL> 列产品格式a45
21:49:41 SQL> 列版本格式a12
21:49:41 SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库11g企业版11.2.0.3.0
经过: 00:00:00。10
21:49:42 SQL>
21:49:42 SQL>
21:49:42 SQL> 创建表TMP_TEST_LARGE_ROWS_CLOB
21:49:42 2 (Id号,CLOB_VALUE CLOB,RANDOM_STRING VARCHAR2(100));
创建的表。
逝去: 00:00:00.26
21:49:42 SQL>
21:49:42 SQL> 开始
21:49:42 2 对于我在1 .. 1000循环
21:49:42 3 插入到TMP_TEST_LARGE_ROWS_CLOB中
21:49:42 4 (id,clob_value,random_string)
21:49:42 5 选择
21:49:42 6 i * rownum id,
21:49:42 7 DBMS_RANDOM.string ('B',500),
21:49:42 8 DBMS_RANDOM.string (“a”,20)
21:49:42 9 从双重
21:49:42 10 通过rownum连接 <= 1000;
21:49:42 11 提交;
21:49:42 12 结束循环;
21:49:42 13 结束;
21:49:42 14/
PL/SQL过程成功完成。
逝去: 00:14:47.99
22:04:30 SQL>
22:04:30 SQL> 假脱机
12c
21:51:10 SQL> 从DUAL中选择systimetamp;
系统戳
-
26-AUG-17 09.51.10.638013下午-07:00
逝去: 00:00:00。00
21:51:10 SQL>
21:51:10 SQL> 列产品格式a45
21:51:10 SQL> 列版本格式a12
21:51:10 SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库12c企业版12.1.0.2.0
逝去: 00:00:00。01
21:51:10 SQL>
21:51:10 SQL>
21:51:10 SQL> 创建表TMP_TEST_LARGE_ROWS_CLOB
21:51:10 2 (Id号,CLOB_VALUE CLOB,RANDOM_STRING VARCHAR2(100));
创建的表。
逝去: 00:00:00。02
21:51:10 SQL>
21:51:10 SQL> 开始
21:51:10 2 对于我在1 .. 1000循环
21:51:10 3 插入到TMP_TEST_LARGE_ROWS_CLOB中
21:51:10 4 (id,clob_value,random_string)
21:51:10 5 选择
21:51:10 6 i * rownum id,
21:51:10 7 DBMS_RANDOM.string ('B',500),
21:51:10 8 DBMS_RANDOM.string (“a”,20)
21:51:10 9 从双重
21:51:10 10 通过rownum连接 <= 1000;
21:51:10 11 提交;
21:51:10 12 结束循环;
21:51:10 13 结束;
21:51:10 14/
PL/SQL过程成功完成。
经过: 00:46:05。83
22:37:16 SQL> 假脱机
同样,这只是一个例子,只是为了说明在一个循环中创建一百万行在12c中比11g慢得多。我们所面对的实际表格:
-有FK引用,因此不能使用附加提示。也有几个触发器
-从UI以多种方式更新表-插入1或2行或在业务部门复制期间,其中使用Insert... select... 子句批量插入记录。
附加信息:
我无法粘贴v $ 参数中的所有参数,因为它超过20000个字符。如果需要,我可以提供任何特定参数集的值。
我们想尽快迁移到12c,不想更改很多这样的插入,这些插入在各种PL/SQL包过程中。
任何关于为什么需要更多时间的帮助或建议将不胜感激。
在我得到上述结果的我们的测试实例中,12c实例具有更多的内存和sga大小
12C:
sga_max_size 85899345920
sga_target 85899345920
11g:
sga_max_size 10737418240
sga_target 10737418240
根据要求,以下是补充信息。
11g
SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库11g企业版11.2.0.3.0
SQL>
SQL> 从dual中选择dbms_metaada.get_ddl ('TABLE','tmp_test_large_row_clob ',user);
Dbms_metaada.get_ddl ('表','tmp_test_large_row_clob',用户)
-
创建表 “应用”。“TMP_TEST_LARGE_ROWS_CLOB”
(“身份证” 号码,
“CLOB _ 值” CLOB,
"RANDOM_STRING" VARCHAR2(100)
) 分段立即创建
PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255
NOCOMPRESS NOLOGGING
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0自由主义者1自由主义者组1
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)
表空间 “应用 _ dat”
LOB (“CLOB_VALUE”) 存储为基本文件 (
表空间 “应用 _ dat” ENABLE STORAGE IN ROW CHUNK 16384 RETENTION
NOCACHE NOLOGGING
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0自由主义者1自由主义者组1
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认))
12c
SQL> 从PRODUCT_COMPONENT_VERSION中选择产品,版本,其中上层 (产品) 像 “oracle %”;
产品版本
-
Oracle数据库12c企业版12.1.0.2.0
SQL>
SQL> 从dual中选择dbms_metaada.get_ddl ('TABLE','tmp_test_large_row_clob ',user);
Dbms_metaada.get_ddl ('表','tmp_test_large_row_clob',用户)
-
创建表 “应用”。“TMP_TEST_LARGE_ROWS_CLOB”
(“身份证” 号码,
“CLOB _ 值” CLOB,
"RANDOM_STRING" VARCHAR2(100)
) 分段立即创建
PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255
NOCOMPRESS NOLOGGING
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0自由主义者1自由主义者组1
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)
表空间 “应用 _ dat”
LOB (“CLOB_VALUE”) 存储为安全文件 (
表空间 “应用 _ dat” ENABLE STORAGE IN ROW CHUNK 16384
NOCACHE NOLOGGING NOCOMPRESS KEEP_DUPLICATES
存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
Pct增加0
BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认))
专家解答
您能为我们在每种环境中做到这一点吗
设置长50000
从双选择dbms_metaada.get_ddl (“表”,“tmp_test_large_row_clob”,用户)
我们需要看看这些clob是如何创建/存储的
====
抱歉花了这么长时间才回复你。我使用basicfile和securefile进行了这些测试-两者之间没有太大区别。同样,我没有看到11和12.1之间的明显差异。但是12.2有明显的改善,所以这可能是我的建议。这些都是在同一台机器上完成的。
11.2.0.4
=
12.1.0.2
=
12.2.0.1
=
SQL> 创建表 “TMP_TEST_LARGE_ROWS_CLOB”
2 (“身份证” 号码,
3 “CLOB _ 值” CLOB,
4 "RANDOM_STRING" VARCHAR2(100)
5) 立即创建细分市场
6 PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255
7 NOCOMPRESS NOLOGGING
8存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
9 pct增加0自由主义者1自由主义者组1
10 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)
11 LOB (“CLOB_VALUE”) 存储为安全文件 (
12在行块16384中启用存储
13 NOCACHE NOLOGGING NOCOMPRESS保持重复
14存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
15 pc增加0
16 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认))
17/
创建的表。
SQL>
SQL> 设置时间开启
SQL> BEGIN
2为i IN 1 .. 100循环
3插入TMP_TEST_LARGE_ROWS_CLOB
4 (id,clob_value,random_string)
5选择
6 i * rownum id,
7 DBMS_RANDOM.string ('B',500),
8 DBMS_RANDOM.string (“a”,20)
9从双
10通过rownum连接 <= 1000;
11提交;
12端环;
13结束;
14/
PL/SQL过程成功完成。
逝去: 00:00:46.61
SQL> @ sessev
事件TOTAL_WAITS TOTAL_TIMEOUTS秒PCT
-
db文件并行读取1 0 0 00.00%
db文件单写6 0 0 00.00%
锁存器: 缓存缓冲区链1 0 0 00.00%
日志文件同步6 0 0 00.00%
enq: RO-fast对象重用3 0 0 00.00%
控制文件并行写入21 0 0 00.00%
db文件分散读取2 0 0 00.00%
日志文件开关 (私有链刷新incomp 1 0 .01 00.02%
lete)
本地写入等待8 0 .01 00.02%
控制文件顺序读取280 0 .06 00.12%
waitclass中的事件其他735 1 .16 00.33%
磁盘文件操作I/O 17 0 .22 00.45%
确认超过PGA限制28 28 .25 00.51%
db文件顺序读取7154 0 .54 01.11%
CPU 47.46 97.43%
设置长50000
从双选择dbms_metaada.get_ddl (“表”,“tmp_test_large_row_clob”,用户)
我们需要看看这些clob是如何创建/存储的
====
抱歉花了这么长时间才回复你。我使用basicfile和securefile进行了这些测试-两者之间没有太大区别。同样,我没有看到11和12.1之间的明显差异。但是12.2有明显的改善,所以这可能是我的建议。这些都是在同一台机器上完成的。
11.2.0.4
=
SQL> 创建表 “TMP_TEST_LARGE_ROWS_CLOB” 2 (“身份证” 号码, 3 “CLOB _ 值” CLOB, 4 "RANDOM_STRING" VARCHAR2(100) 5) 立即创建细分市场 6 PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255 7 NOCOMPRESS NOLOGGING 8存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 9 pct增加0自由主义者1自由主义者组1 10 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认) 11 LOB ("CLOB_VALUE") STORE AS BASICFILE ( 12在行块16384中启用存储 RETENTION 13 NOCACHE NOLOGGING 14存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 15 pc增加0 FREELISTS 1 FREELIST GROUPS 1 16 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)) 17/ 创建的表。 SQL> SQL> 设置时间开启 SQL> BEGIN 2为i IN 1 .. 100循环 3插入TMP_TEST_LARGE_ROWS_CLOB 4 (id,clob_value,random_string) 5选择 6 i * rownum id, 7 DBMS_RANDOM.string ('B',500), 8 DBMS_RANDOM.string (“a”,20) 9从双 10通过rownum连接 <= 1000; 11提交; 12端环; 13结束; 14/ PL/SQL过程成功完成。 Elapsed: 00:02:33.91 SQL> @ sessev 事件TOTAL_WAITS TOTAL_TIMEOUTS秒PCT - log file sync 3 0 0 00.00% db file sequential read 3 0 0 00.00% events in waitclass Other 9 0 0 00.00% log file switch (checkpoint incomplete) 2 0 .01 00.01% enq: RO - fast object reuse 3 0 .01 00.01% log file switch (private strand flush incomp 2 0 .01 00.01% lete) Disk file operations I/O 3 0 .02 00.01% CPU 153.74 99.97%复制
12.1.0.2
=
SQL> 创建表 “TMP_TEST_LARGE_ROWS_CLOB” 2 (“身份证” 号码, 3 “CLOB _ 值” CLOB, 4 "RANDOM_STRING" VARCHAR2(100) 5) 立即创建细分市场 6 PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255 7 NOCOMPRESS NOLOGGING 8存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 9 pct增加0自由主义者1自由主义者组1 10 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认) 11 LOB (“CLOB_VALUE”) 存储为安全文件 ( 12在行块16384中启用存储 13 NOCACHE NOLOGGING NOCOMPRESS保持重复 14存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 15 pc增加0 16 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)) 17/ 创建的表。 SQL> SQL> 设置时间开启 SQL> BEGIN 2为i IN 1 .. 100循环 3插入TMP_TEST_LARGE_ROWS_CLOB 4 (id,clob_value,random_string) 5选择 6 i * rownum id, 7 DBMS_RANDOM.string ('B',500), 8 DBMS_RANDOM.string (“a”,20) 9从双 10通过rownum连接 <= 1000; 11提交; 12端环; 13结束; 14/ PL/SQL过程成功完成。 Elapsed: 00:02:46.10 SQL> SQL> @ sessev 事件TOTAL_WAITS TOTAL_TIMEOUTS秒PCT - local write wait 4 0 0 00.00% db file single write 1 0 0 00.00% log file sync 2 0 0 00.00% 锁存器: 缓存缓冲区链1 0 0 00.00% control file parallel write 3 0 0 00.00% Data file init write 1 0 0 00.00% events in waitclass Other 2 0 .01 00.01% log file switch completion 1 0 .01 00.01% control file sequential read 71 0 .02 00.01% db file sequential read 270 0 .04 00.02% Disk file operations I/O 16 0 .07 00.04% CPU 166.5 99.91%复制
12.2.0.1
=
SQL> 创建表 “TMP_TEST_LARGE_ROWS_CLOB”
2 (“身份证” 号码,
3 “CLOB _ 值” CLOB,
4 "RANDOM_STRING" VARCHAR2(100)
5) 立即创建细分市场
6 PCTFREE 10 pct二手40 INITRANS 1 MAXTRANS 255
7 NOCOMPRESS NOLOGGING
8存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
9 pct增加0自由主义者1自由主义者组1
10 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认)
11 LOB (“CLOB_VALUE”) 存储为安全文件 (
12在行块16384中启用存储
13 NOCACHE NOLOGGING NOCOMPRESS保持重复
14存储 (初始1048576下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
15 pc增加0
16 BUFFER_POOL默认FLASH_CACHE默认CELL_FLASH_CACHE默认))
17/
创建的表。
SQL>
SQL> 设置时间开启
SQL> BEGIN
2为i IN 1 .. 100循环
3插入TMP_TEST_LARGE_ROWS_CLOB
4 (id,clob_value,random_string)
5选择
6 i * rownum id,
7 DBMS_RANDOM.string ('B',500),
8 DBMS_RANDOM.string (“a”,20)
9从双
10通过rownum连接 <= 1000;
11提交;
12端环;
13结束;
14/
PL/SQL过程成功完成。
逝去: 00:00:46.61
SQL> @ sessev
事件TOTAL_WAITS TOTAL_TIMEOUTS秒PCT
-
db文件并行读取1 0 0 00.00%
db文件单写6 0 0 00.00%
锁存器: 缓存缓冲区链1 0 0 00.00%
日志文件同步6 0 0 00.00%
enq: RO-fast对象重用3 0 0 00.00%
控制文件并行写入21 0 0 00.00%
db文件分散读取2 0 0 00.00%
日志文件开关 (私有链刷新incomp 1 0 .01 00.02%
lete)
本地写入等待8 0 .01 00.02%
控制文件顺序读取280 0 .06 00.12%
waitclass中的事件其他735 1 .16 00.33%
磁盘文件操作I/O 17 0 .22 00.45%
确认超过PGA限制28 28 .25 00.51%
db文件顺序读取7154 0 .54 01.11%
CPU 47.46 97.43%
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。