oracle 最大一行,一行最大column数和row piece-概念
Oracle concepts中,表中的一行最大1000 column,每255 column会分成一个row piece,下面使用实验来证明它
创建一个1000 column的行
SQL> begin
2 execute immediate 'create table t(col1 char)';
3 for i in 2 .. 1000 loop
4 execute immediate 'alter table t add (col'||i||' char)';
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed.
结果可以创建。再创建一个1001 column的行
SQL> drop table t;
Table dropped.
SQL> begin
2 execute immediate 'create table t(col1 char)';
3 for i in 2 .. 1001 loop
4 execute immediate 'alter table t add (col'||i||' char)';
5 end loop;
6 end;
7 /
begin
*
ERROR at line 1:
ORA-01792: maximum number of columns in a table or view is 1000
ORA-06512: at line 4
结果创建到1001个时报错
接下来创建一个260 column的行的表,再insert数据,dump出来看一行是不是分为两个row piece
SQL> drop table t;
Table dropped.
SQL> begin
2 execute immediate 'create table t(col1 number)';
3 for i in 2 .. 260 loop
4 execute immediate 'alter table t add (col'||i||' number)';
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed.
insert into t values(
1,
2,
3,
4
。
。
(省略)
。
。
253,
254,
255,
256,
257,
258,
259,
260);
SQL> select dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from t;
DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------------ ------------------------------------
16 406
SQL> alter system dump datafile 16 block 406;
System altered.
查看DUMP文件
[oracle@myora10 udump]$ more myora10_ora_31787.trc
/d01/app/oracle/admin/myora10/udump/myora10_ora_31787.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /d01/app/oracle/product/10.2.0
System name: Linux
Node name: myora10
Release: 2.6.9-67.ELsmp
Version: #1 SMP Fri Nov 16 12:48:03 EST 2007
Machine: i686
Instance name: myora10
Redo thread mounted by this instance: 1
Oracle process number: 17
Unix process pid: 31787, image: oracle@myora10 (TNS V1-V3)
。
。
(省略)
。
。
block_row_dump:
tab 0, row 0, @0x1be1
tl: 927 fb: -----L-- lb: 0x1 cc: 255
col 0: [ 2] c1 07
col 1: [ 2] c1 08
col 2: [ 2] c1 09
col 3: [ 2] c1 0a
col 4: [ 2] c1 0b
col 5: [ 2] c1 0c
。
。
(省略)
。
。
col 253: [ 3] c2 03 3c
col 254: [ 3] c2 03 3d
tab 0, row 1, @0x1bc9
tl: 24 fb: --H-F--- lb: 0x1 cc: 5
nrid: 0x04000196.0
col 0: [ 2] c1 02
col 1: [ 2] c1 03
col 2: [ 2] c1 04
col 3: [ 2] c1 05
col 4: [ 2] c1 06
end_of_block_dump
End dump data blocks tsn: 16 file#: 16 minblk 406 maxblk 406
从上面的DUMP文件可以看出,一个row分成了两个row piece
tab 0, row 1, @0x1bc9
tl: 24 fb: --H-F--- lb: 0x1 cc: 5
nrid: 0x04000196.0
看上面的fb,标示为H和F,H代表Head piece of row ,F代表First data piece
nrid: 0x04000196.0 下一个row piece的地址
tab 0, row 0, @0x1be1
tl: 927 fb: -----L-- lb: 0x1 cc: 255
看上面的fb,标示为L,L代表Last data piece
链接(jason_wang2002的个人空间)
http://space.itpub.net/8745319/viewspace-573079
[本帖最后由 jason_wang2002 于 2009-3-19 14:41 编辑]
oracle 最大一行,一行最大column数和row piece-概念相关推荐
- Java一行一行的读文件和简单的写文件
读 在java的实验作业中,有一个是从我们的txt文件中读取矩阵.其中数与数之间是用\t隔开.行与行之间是用\n跳过.本人java学艺不精,所以我只有自行询问度娘.得知了一个可以从文件中一行一行的读取 ...
- python 写入excel_一行一行整理EXCEL表太麻烦,试试python脚本,1秒写入数据
最近工作中,要整理数据,本来是以sql脚本录入,但是id.barcode等数据不好整理,因为这几个字段要唯一. 所以想到用EXCEL表整理数据,再导入数据库中. 整理的过程中,发现EXCEL一行一行的 ...
- python快速整理excel_一行一行整理EXCEL表太麻烦,试试python脚本,1秒写入数据
最近工作中,要整理数据,本来是以sql脚本录入,但是id.barcode等数据不好整理,因为这几个字段要唯一. 所以想到用EXCEL表整理数据,再导入数据库中. 整理的过程中,发现EXCEL一行一行的 ...
- 教大家python读取一行一行文件内容的方法
Python中readline()每次读取文件中的一行,需要使用永真表达式循环读取文件.但当文件指针移动到文件的末尾时,依然使用readline()读取文件将出现错误.因此程序中需要添加1个判断语句, ...
- html、css、js、react、vue 文字一行一行显示出来
前端时间在做 年报,就不难涉及到 年报 具有的几大特性: 1.页面滑动特效 2.文字一行一行出现特效 3.页面内动画 等等 这片文章主要展示一下 文字一行一行出现特效 代码(react 为例) 先看效 ...
- C语言 一行一行读取文件txt
参考:怎么用c语言实现读取一个txt文件里的数据 要按行读出来 打开文件 fopen("需要打开的路径") 然后使用fgets函数读取行 #include <stdio.h& ...
- java 中实现一行一行地读文件和一行一行地追加写文件
一行一行地追加写文件 FileWriter fw = new FileWriter("文件名"); BufferedWriter bw = new BufferedWriter(f ...
- c语言一行一行的读取txt文件
工作中做的项目,经常需要读取一些脚本,就是一些txt文件,用python读取很简单,但是我们很多工具也是用c/c++语言写的,用c的话读取文件我一般是按照如下的方式: while(fscanf(pFi ...
- Oracle 计算两日期间隔月数
Oracle 计算两日期之间月数 实际应用中,有时候会计算两日期间隔天数.月数.如直接相减,可能会出问题,如: select 202110-202106 from dual; 结果为:4 看似正确,但 ...
- oracle sql%rowcount 返回影响行数
sqlserver中,返回影响行数是:If @@RowCount<1 oracle中,返回影响行数是:If sql%rowcount<1 例: sqlserver: AS BEGIN Up ...
最新文章
- 缓存初解(五)---SpringMVC基于注解的缓存配置--web应用实例
- Ubuntu开机自动启动script(2)
- redis高级-------2
- 谷歌2D景观转3D风景大片,无惧复杂光线与遮挡
- xwpftemplate的时间设置_数据导出生成word附件使用POI的XWPFTemplate对象
- 在banana pi 上测试 《S2A》Snap/Scratch to Arduino
- python统计文本单词总数_python统计文本文件内单词数量的方法
- jmeter配置元件之计数器
- 关于Request.params的知识收藏
- php 右键下拉菜单,iview通过Dropdown(下拉菜单)实现的右键菜单
- 计算机四级网络工程师考过指南
- linux攻防比赛_浅谈网络攻防大赛中的Linux服务器的加固
- matlab竞赛论文模板,数学建模竞赛论文模板.doc
- 对LNode*与LinkLinst等价却不等用的理解
- matlab编译后方交会,后方交会MATLAB程序实习报告.docx
- 如何成就一个小而美的存储科技公司?
- Grain Timers and Reminders
- html js更新数据不刷新页面,用javascript实现无刷新更新数据
- 基于UBAT工具的试验性应用
- node.js 安装详细步骤如下(win 版)