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

oracle值得探讨的问题

经常做一些数据库操作,在建立表的时候,选择字段类型时,有关字符串类型的选择总是有些模糊。
。char
。varchar2
。nvarchar2
。nchar
关于上面两个我有点印象。CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2
(20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
网上查询到:
CHAR的效率比VARCHAR2的效率稍高。   
目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是Oracle不这样做,尽管它保留以后这
样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字
符串的特性改为存储NULL值。假如你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。   
何时该用CHAR,何时该用varchar2?   CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.
  VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的
‘以空间换效率’。
  VARCHAR2虽然比CHAR节省空间,但是假如一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row
Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
不过关于nvarchar2和nchar,用的不多,他们又有什么知识呢?


相关文档:

oracle RAC 底层进程介绍

 1.GSD global services daemon 
oracle官方文档的描述 
The Global Services Daemon (GSD) runs on each node with one GSD process per node. The GSD coordinates with the cluster manager to receive requests from clients such as the DBCA, EM, and the SRVCTL utility to execute administrative ......

向Oracle插入timestamp类型字段

 如果是中文字符集:
[TEST@ora10gr1#2009-11-25/08:39:38]
SQL>create table t1(t timestamp);
Table created.
[TEST@ora10gr1#2009-11-25/08:39:56]
SQL>insert into t1 values(to_timestamp('21NOV09 10:04:12.032','DDMONYY HH24:MI:SS.FF'));
* ERROR at li ......

PostgreSQL/Oracle Table

通常我們在建立 PostgreSQL/Oracle 資料庫的時候, 如果要使用 MySQL/MS-SQL identity 雷同的功能, 就是要採用 Sequence 來建立, 而為了每一個 Table 都有獨立的序號產生器, 我們會建立個別的 sequence.
例如 (PostgreSQL samp ......

学习《Oracle 9i10g编程艺术》的笔记 (二)

 一.锁
数据库使用锁(lock) 来保证任何给定时刻最多只有一个事务在修改给定的一段数据。实质上讲,
正是锁机制才使并发控制成为可能。例如,如果没有某种锁定模型来阻止对同一行的并发更新,数据库就
不可能提供多用户访问。不过,如果滥用或者使用不当,锁反倒会阻碍并发性。如果你或数据库本身不必
要地对数据 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号