Database 留置权 0排序(内存) 0排序(磁盘) 已处理100000行
查看Database 留置权 0排序(内存) 0排序(磁盘) 已处理100000行,database,oracle,Database,Oracle,查看consistent getsstat.c1000pex的全扫描形成的IOs是c255全扫描的两倍 然而,若您使用主键只选择了几行,我认为您不会注意到显著的差异 不,这与性能没有多大关系,varchar2的最大大小是4000 一旦更改了表,请记住编译所有依赖项,例如,它们将无效 程序和包不,它与性能没有多大关系,varchar2的最大大小是4000 一旦更改了表,请记住编译所有依赖项,例如,它们将无效 程序和软件包你要证明的是,一个较大的表比一个较小的表需要更长的时间从磁盘读取:)在OP的情
consistent gets
stat.c1000
pex的全扫描形成的IOs是c255
全扫描的两倍
然而,若您使用主键只选择了几行,我认为您不会注意到显著的差异 不,这与性能没有多大关系,varchar2的最大大小是4000 一旦更改了表,请记住编译所有依赖项,例如,它们将无效
程序和包不,它与性能没有多大关系,varchar2的最大大小是4000 一旦更改了表,请记住编译所有依赖项,例如,它们将无效
程序和软件包你要证明的是,一个较大的表比一个较小的表需要更长的时间从磁盘读取:)在OP的情况下,他只是增加了容量,所以他看不到你演示的效果。@Ronnis他有理由增加容量,不是吗?我想他可能会在那里存储更多的数据。我的观点是:在VARCHAR2的情况下,增加容量和利用容量是有区别的。他问的是“此列的增量大小是否会导致性能问题”,而事实并非如此。但是,利用这种能力将是非常有用的,这就是您的测试用例所演示的。我只是想帮你写一个更细致的答案。你要证明的是,一个较大的表比一个较小的表需要更长的时间从磁盘读取:)在OP的情况下,他只增加了容量,所以他看不到你演示的效果。@Ronnis他有理由增加容量,不是吗?我想他可能会在那里存储更多的数据。我的观点是:在VARCHAR2的情况下,增加容量和利用容量是有区别的。他问的是“此列的增量大小是否会导致性能问题”,而事实并非如此。但是,利用这种能力将是非常有用的,这就是您的测试用例所演示的。我只是想帮你写一个更细致的答案。
SQL script: alter table xx_vms.es_lot_updates modify (routing_list varchar2(1000));
17:48:25 HR@sandbox> create table c1000 (txt varchar2(1000));
Table created.
Elapsed: 00:00:00.21
17:48:37 HR@sandbox> create table c255 (txt varchar2(255));
Table created.
Elapsed: 00:00:00.03
-- for this test we assume that only 10% of columns are filled with data
17:50:21 HR@sandbox> ed
Wrote file S:\spool\sandbox\BUFFER_HR_32.sql
1 insert into c255
2 select decode(mod(rownum,10), 0, lpad('x', 255,'x')) from dual
3* connect by rownum <= 1e5
17:50:24 HR@sandbox> /
100000 rows created.
Elapsed: 00:00:01.26
17:50:47 HR@sandbox> ed
Wrote file S:\spool\sandbox\BUFFER_HR_32.sql
1 insert into c1000
2 select decode(mod(rownum,10), 0, lpad('x', 1000,'x')) from dual
3* connect by rownum <= 1e5
17:50:51 HR@sandbox> /
100000 rows created.
Elapsed: 00:00:01.45
17:50:52 HR@sandbox> commit;
Commit complete.
Elapsed: 00:00:00.01
17:51:20 HR@sandbox> select table_name, blocks from user_tables where table_name in ('C255', 'C1000');
TABLE_NAME BLOCKS
------------------------------ ----------
C1000 1756
C255 622
Elapsed: 00:00:00.20
17:53:28 HR@sandbox> set autotrace traceonly statistics
17:53:37 HR@sandbox> select * from c1000;
100000 rows selected.
Elapsed: 00:00:01.30
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
1901 consistent gets
1694 physical reads
0 redo size
10586458 bytes sent via SQL*Net to client
2552 bytes received via SQL*Net from client
201 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
100000 rows processed
17:53:50 HR@sandbox> select * from c255;
100000 rows selected.
Elapsed: 00:00:00.63
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
825 consistent gets
295 physical reads
0 redo size
3107206 bytes sent via SQL*Net to client
2552 bytes received via SQL*Net from client
201 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
100000 rows processed