易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 数据类型及存储方式

 Oracle 数据类型及存储方式
袁光东 原创
概述
通过实例,全面而深入的分析oralce的基本数据类型及它们的存储方式。以ORACLE 10G为基础,介绍oralce 10g引入的新的数据类型。让你对oracle数据类型有一个全新的认识。揭示一些不为人知的秘密和被忽略的盲点。从实用和优化的角度出发,讨论每种数据类型的特点。从这里开始oracle之旅!
第一部份 字符类型
§1.1  char
定长字符串,会用空格来填充来达到其最大长度,最长2000个字节。
1. 新建一个测试表test_char.,只有一个char类型的列。长度为10
SQL> create table test_char(colA char(10));
Table created
2. 向这个表中插入一些数据。
SQL> insert into test_char values('a');
1 row inserted
SQL> insert into test_char values('aa');
1 row inserted
SQL> insert into test_char values('aaa');
1 row inserted
SQL> insert into test_char values('aaaa');
1 row inserted
SQL> insert into test_char values('aaaaaaaaaa');
1 row inserted
注意:最多只能插入10个字节。否是就报错。
SQL> insert into test_char values('aaaaaaaaaaa');
insert into test_char values('aaaaaaaaaaa')
ORA-12899: value too large for column "PUB_TEST"."TEST_CHAR"."COLA" (actual: 11, maximum: 10)
3. 使用dump函数可以查看每一行的内部存数结构。
SQL> select colA, dump(colA) from test_char;
COLA       DUMP(COLA)
---------- --------------------------------------------------------------------------------
a          Typ=96 Len=10: 97,32,32,32,32,32,32,32,32,32
aa         Typ=96 Len=10: 97,97,32,32,32,32,32,32,32,32
aaa        Typ=96 Len=10: 97,97,97,32,32,32,32,32,32,32
aaaa       Typ=96 Len=10: 97,97,97,97,32,32,32,32,32,32
aaaaaaaaaa Typ=96 Len=10: 97,97,97,97,97,97,97,97,97,97
注意:Typ=96 表示数据类型的ID。Oracle为每一种数据类型都进行了编号。说明char类型的编号是96.
Len =10 表示所在的内部存储的长度(用字节表示)。虽然第一例只存了一个字符


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle表空间的管理

 Oracle表空间的管理
1.创建表空间
  //创建临时表空间
 create temporary tablespace test_temp
 tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
 size 32m
 autoextend on
 next 32m maxsize 2048m
 extent management local;
&nbs ......

ORACLE 登陆错误问题

     登陆ORACLE时出现:ORA-12637 包接受失败 错误
     解决方法:在\oracle\product\10.2.0\client_1\NETWORK\ADMIN 中找到sqlnet.ora文件,
     把修改 SQLNET.AUTHENTICATION_SERVICES= (NONE)就可以了。 ......

Oracle select in/exists/not in/not exits

in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。
一直以来认为exists比in效率高的说法是不准确的。
如果查询的两个表大小相当,那么用in和exists差别不大。
in 是把外表和内表作hash
连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。
一直以 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号