`
up2pu
  • 浏览: 218450 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[转]修改字段长度应用会影响到生产性能

    博客分类:
  • DB
阅读更多
我们知道,在9i对数据库进行DDl操作在高并发时或数据量大时会影响DML操作,比如添加,删除字段时,必须等到DDL完成时,DML操作才开始  ,以下例子为高并发时测试修改字段长度严重影响到生产性能:


session 1;
C:\Documents and Settings\Paul Yi>sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Tue Apr 1 09:50:09 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production

SQL> drop table test;

Table dropped.

SQL> create table test (a char(500),b char(500), c char(500));

Table created.

SQL> alter table test nologging;

Table altered.

SQL> insert /*+ append */ into test select 'a','b','c' from dba_objects;

6174 rows created.

SQL> commit;

Commit complete.

SQL> insert into test select * from test;

6174 rows created.

SQL> /

12348 rows created.

SQL> /

24696 rows created.

SQL> /

49392 rows created.

SQL> commit;

Commit complete.

SQL> select count(*) from test;

  COUNT(*)
----------
     98784

SQL> alter session set events '10046 trace name context forever,level 12';

Session altered.

SQL> alter table test modify b char(1000);

Table altered.

SQL> alter session set events '10046 trace name context off';

Session altered.

SQL>


session 2: --在修改字段的同时执行session 2的查询sql语句
sql> select   *   from test ;  --此时阻塞

session 3:
SQL> select sid,event from v$session_wait;

       SID EVENT
---------- -------------------------------------------------------------
         1 pmon timer
         2 rdbms ipc message
         3 rdbms ipc message
         6 rdbms ipc message
         8 rdbms ipc message
         7 rdbms ipc message
         4 rdbms ipc message
         9 db file scattered read
         5 smon timer
       10 library cache lock   --等待事件
        13 SQL*Net message to client

       SID EVENT
---------- -------------------------------------------------------------
        14 SQL*Net message from client
        15 SQL*Net message from client

13 rows selected.

SQL> select sid,sql_hash_value from v$session where sid=10;

       SID SQL_HASH_VALUE
---------- --------------
        10      171085072

SQL> select sql_text from v$sqlarea where hash_value='171085072';

SQL_TEXT
------------------------------------------------------------------------

select * from test       --可以查到阻塞的sql



通过session 1跟踪10046事件可以看到,对以前数据也要修改长度和修改数据字典,所以主要等待时间在这里

update "TEST" set "B"=sys_op_trtb("B",  9, 1000, 1000)

update tab$ set ts#=:2,file#=:3,block#=:4,bobj#=decode(:5,0,null,:5),tab#=decode(:6,0,null,:6),intcols=:7,kernelcols=:8,clucols=decode(:9,0,null,:9),audit$=:10,flags=:11,pctfree$=:12,pctused$=:13,initrans=:14,maxtrans=:15,rowcnt=:16,blkcnt=:17,empcnt=:18,avgspc=:19,chncnt=:20,avgrln=:21,analyzetime=:22,samplesize=:23,cols=:24,property=:25,degree=decode(:26,1,null,:26),instances=decode(:27,1,null,:27),dataobj#=:28,avgspc_flb=:29,flbcnt=:30,trigflag=:31,spare1=:32,spare2=decode(:33,0,null,:33),spare4=:34,spare6=:35 where obj#=:1

update col$ set intcol#=:3,segcol#=:4,type#=:5,length=:6,precision#=decode(:7,0,null,:7),scale=decode(:5,2,decode(:8,-127/*MAXSB1MINAL*/,null,:8),178,:8,179,:8,180,:8,181,:8,182,:8,183,:8,231,:8,null),null$=:9,fixedstorage=:10,segcollength=:11,col#=:12,property=:13,charsetid=:14,charsetform=:15,spare1=:16,spare2=:17,spare3=:18,deflength=decode(:19,0,null,:19),default$=:20 where obj#=:1 and name=:2

update obj$ set obj#=:6,type#=:7,ctime=:8,mtime=:9,stime=:10,status=:11,dataobj#=:13,flags=:14,oid$=:15,spare1=:16, spare2=:17 where owner#=:1 and name=:2 and namespace=:3 and(remoteowner=:4 or remoteowner is null and :4 is null)and(linkname=:5 or linkname is null and :5 is null)and(subname=:12 or subname is null and :12 is null)



原文地址:http://space.itpub.net/7199859/viewspace-220511
分享到:
评论

相关推荐

    ChenHuajun#chenhuajun.github.io#2017-09-12-PostgreSQL字符类型长度变更的性能

    背景业务有时会遇到表中的字符型字段的长度不够用的问题,需要修改表定义。但是表里的数据已经很多了,修改字段长度会不会造成应用堵塞呢?测试验证做了个小测试,如下建表

    SQL查询安全性及性能优化

     硬件原因,数据库的配置不合理,数据库的数据文件和日志文件没有分磁盘存放,会极大影响IO性能  没有建立索引,或者SQL没有走索引。在千万级数据的表上建索引是很有必要的。  SQL过于复杂,过长的SQL语句满足...

    数据库设计与优化.pdf

    主键的选择还要注意组合主键的字段次序,对于组合主键来说,不同的字段次序的主键的性能差别可能会很大,一般 应该选择重复率低、单独或者组合查询可能性大的字段放在前面。 1.3.4 外键的设计 外键作为数据库对象,...

    net学习笔记及其他代码应用

    28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...

    1345个易语言模块

    取汇编指令长度.ec 取汉字代码.ec 取汉字全拼音模 块.ec 取汉字笔画.ec 取汉字笔画1.ec 取汉字笔画模块-寒风.ec 取汉字笔画模块.ec 取注册表键句 柄.ec 取点颜色.ec 取焦点窗口句柄.ec 取特定目录模块.ec 取特征字....

    ORACLE9i_优化设计与系统调整

    §10.3.2 相互产生运算的数字型字段长度和精度要一致 114 §10.3.2 不要为了节省空间而将字段的长度缩小或拆开 115 §10.4 将LOB类型的字段与其它的类型分开 115 §10.5 采用具有编码的设计方法 115 §10.6 建立公共...

    数据库设计参考规范.doc

    当表中有比 较多的空字段时,在同等条件下,数据库处理的性能会降低许多。 所以,虽然在数据库表设计的时候,允许表中具有空字段,但是,我们应该尽量避 免。若确实需要的话,我们可以通过一些折中的方式,来处理...

    网络组建与管理4/网络管理

    Windows 2000 Server中专门用来监视网络性能的工具,利用网络监视器,可以清楚的知道网络中每条信息来自哪里,发往何处,也可以知道每条信息在传输过程中路由了那些节点,由那些节点可能影响传输效率。 网络监视器的...

    易语言程序免安装版下载

    修改扩展界面支持库三,解决高级选择夹会导致所在窗口的收不到“首次激活”事件的BUG,相应地修改了核心库和开发环境。 10. 为所有支持库文件统一添加了版本信息。 ------------------------------------------...

    数据库的设计和管理规范.doc

    8 2.1 表分析 8 2.2 索引维护 8 2.2.1 索引监视 8 2.2.2 索引重建 8 2.3 空间维护 8 2.3.1 数据定期备份 8 2.3.2 历史数据的清除 8 2.4 性能分析和问题报告 9 变更记录 1 文档名称:数据库的设计和管理规范 2 建立...

    VeryIDE Bee 2.3 GBK.zip

    更新增加了分类信息中电话号码和所在地字段长度;更新将城市名称变更至全局设置,取消模块单独设置;更新分类信息可以将商业推广投放至大类下的全部子类;更新分类信息可以单独设置前台面包屑名称;更新分类信息可以...

    WEB安全测试

    12.5 绕过字段长度限制(XSS) 258 12.6 以交互方式尝试跨站式跟踪 259 12.7 修改Host头 261 12.8 暴力猜测用户名和密码 263 12.9 以交互方式尝试PHP包含文件注入 265 12.10 制作解压缩炸弹 266 12.11 以交互方式...

    sql数据库相关加密知识

    采用这种加密方式进行加密,加解密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。 数据库加密系统...

    Access+2000中文版高级编程

    13.4 应用自动化功能从Access运行其他应用程序 395 13.4.1 在Access中调用Word 396 13.4.2 在Access中调用Excel 402 13.4.3 在Access中调用Microsoft Graph 404 13.4.4 在Access中调用Microsoft Project 407...

    Access 2000中文版高级编程(part1)

    13.4 应用自动化功能从Access运行其他应用程序 395 13.4.1 在Access中调用Word 396 13.4.2 在Access中调用Excel 402 13.4.3 在Access中调用Microsoft Graph 404 13.4.4 在Access中调用Microsoft Project 407 ...

    [完整][中文][WEB安全测试].(美)霍普.扫描版.pdf

    12.5 绕过字段长度限制(XSS) 258 12.6 以交互方式尝试跨站式跟踪 259 12.7 修改Host头 261 12.8 暴力猜测用户名和密码 263 12.9 以交互方式尝试PHP包含文件注入 265 12.10 制作解压缩炸弹 266 12.11 以交互方式...

    delphi 开发经验技巧宝典源码

    0052 使用数组为TlistView组件动态创建字段 33 0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 ...

    delphi 开发经验技巧宝典源码06

    0052 使用数组为TlistView组件动态创建字段 33 0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 ...

Global site tag (gtag.js) - Google Analytics