oracle扩字段长度有什么影响,修改字段长度应用会影响到生产性能
我们知道,在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)
oracle扩字段长度有什么影响,修改字段长度应用会影响到生产性能相关推荐
- mysql中怎么修改字段_mysql表中怎么修改字段?
在mysql表中,可以使用"ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;"语句来修改字段名称:使用"ALTER TABLE 表名 MODIF ...
- mysql修改字段名称脚本_mysql数据库修改字段及新增字段脚本
1.修改字段的长度 ALTER TABLE MODIFY COLUMN 字段名 数据类型(修改后的长度) 例句:ALTER TABLE test_table MODIFY COLUMN id INT ...
- mysql修改字段长度很慢
SQL数据库修改某张表主键的长度 在外码表设计中选择"关系",将外码引用的更新规则改为"级联"后,即可修改.你这样设置了以后你修改主码表的字段长度,外码表对应的 ...
- oracle添加字段sql_如何用SQL语句添加和修改字段?
用SQL语句添加字段并不难,下面小编整理了SQL添加和修改字段的基本命令,希望对各位小伙伴有所帮助. 增加字段: alter table 表名 add 字段名 type not null defaul ...
- mysql怎么修改表中的文字_mysql表中怎么修改字段?
在mysql表中,可以使用"ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;"语句来修改字段名称:使用"ALTER TABLE 表名 MODIF ...
- 【无标题】mysql增加字段和备注_mysql 修改表名,修改字段类型,增加字段,删除字段,添加字段备注,添加索引...
mysql语句: 1.修改表名: rename table 旧表名 to 新表名; 2.修改字段类型: alter table 表名 modify column 字段名 字段类型(长度) 3.修改字段 ...
- MySQL增加字段,修改字段,增加索引等语句
mysql增删改查基本语句: 1.修改表名: rename table 旧表名 to 新表名; 2.修改字段类型: alter table 表名 modify column 字段名 字段类型(长度) ...
- 修改字段类型 Alter table 表名 modify 字段名 字段类型mysql数据库概念及入门语句...
1.数据库的概念 数据库(DataBase,DB)是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合.她是一个按数据结构来存储和管理数据的计算机软件系统.数据库的概念实际包括两层意思: ...
- Javascript如何修改数组长度?
修改数组长度 使用"数组名.length"可以获取或修改数组的长度.数组长度的计算方式为数组中元素的最大索引值加1,示例代码如下. var arr = ['a', 'b', 'c' ...
- sql增加字段,修改字段属性,设置字段不为空,设置默认值
新增字段 ALTER TABLE 表名 ADD 字段名 BIT NOT NULL DEFAULT 0; EXEC sys.sp_addextendedproperty @name=N'MS_Descr ...
最新文章
- 绩效真的重要吗?绩效管理系统有哪些?
- LeanCloud学习笔记(1)
- ssential Diagram for Windows FormsC#/winForm类似visio的拓扑图节点连线控件免费下载
- HDU-1569 方格取数(2) 最小割最大流
- 真实收货地址大全2016_中国古典诗词大全汇集了诗经、唐诗、宋词、元曲以及纳兰词,12册精美套装。...
- 论文浅尝 | KGQR: 用于交互式推荐的知识图谱增强Q-learning框架
- 《论文笔记》ROBUST MAP ALIGNMENT FOR COOPERATIVE VISUAL SLAM
- BZOJ2934 : [Poi1999]祭坛问题
- 【多线程经典实例】实现一个线程安全的单例模式
- 【JavaEE】Spring 事务传播机制
- linux下如何创建oracle数据库实例,Linux下新建Oracle数据库实例
- python3使用MyQR库生成动态二维码
- 江苏小高考计算机什么时候考,2021江苏小高考时间 什么时候考试
- html markdown写笔记,谈谈为知笔记的Markdown功能
- 美化微信小程序的界面--微信小程序开发中使用vant的完整步骤
- 如何在Google搜索到我的网站?
- TCP/IP知识总结面试题之Socket服务
- 高等流体力学复习04
- java中如何将字符串数组转换成字符串(转)
- 中小网站在域名、服务器等选择上的一点总结
热门文章
- repast HPC初探(运行其自带例子过程中出现的问题)
- 拼装机器人感想_机器人学习心得总结
- 《Windows游戏编程大师技巧》二、Windows编程模型
- 前后端分离项目session跨域失效的解决方案
- 小型制造类企业IT云平台
- Real-Time Rendering 4th 译文《二十一 虚拟现实与增强现实》
- Android3D相册项目,Android Gallery实现3D相册(附效果图+Demo源码)
- 【快代理】隧道代理使用教程
- eclipse安装yuicompressor插件
- [书目20090216]高绩效人士的五项管理 李践作品