oracle数据库表结构设计
摘要:oracle数据库表结构设计字段is_valid 如果都是整型, 字段类型用int即可, 如果有负数的情况, 比如(-1: 表示异常状态 0: 无效 1: 有效), 用number(1)来标识即可.如果有字符, 那就用varchar2(1)来表示.存储效率: int>number>varchar2
阅读全文
posted @
2012-07-06 18:33
DavidYanXW
阅读(1078)
推荐(0) 编辑
oracle索引
摘要:plsql里, oracle索引有: normal/unique/bitmap三种.normal index是b-tree非唯一索引;unique index是b-tree唯一索引;bitmap index使用bit而不是b-tree来组织索引.主键索引是unique index+not null.b-tree index多在oltp中, bitmap index多在dss(决策支持系统)中.b-tree的数值多不重复, 而bitmap index的数值较少, 比如性别这样的列.bitmap index一般使用于数据仓库, 事物处理中较少使用.摘自网络:http://blog.csdn.net
阅读全文
posted @
2012-05-09 01:36
DavidYanXW
阅读(3012)
推荐(1) 编辑
Oracle分析函数: row_number() over()
摘要:场景:tableTuserid 用户idbalance 用户余额optdate 操作时间查找出某个时段(比如2011-11-10以前)的所有账户总余额分析:该表记录了历史操作记录, 由于余额和时间有关, 所以同一个userid,需要取最新(最晚,最大)的optdate对应的balance可以使用oracle分析函数:row_number() over()结果:select * from (select userid, balance, optdate, row_number() over(partitio...
阅读全文
posted @
2011-12-02 18:48
DavidYanXW
阅读(163)
推荐(0) 编辑
[转] 解决Oracle锁表
摘要:转载自:http://mengshuangcom.iteye.com/blog/1021348找出锁表的信息:select /*+ RULE */ ls.osuser os_user_name, ls.username user_name,decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX','Transaction enqueue lock', 'UL', 'User su
阅读全文
posted @
2011-11-07 17:14
DavidYanXW
阅读(166)
推荐(0) 编辑
Oracle表结构修改
摘要:一. 编辑表字段:1.编辑表的字段ALTER TABLE 表名 MODIFY(列名 数据类型);2.增加一个列 ALTER TABLE 表名 ADD(列名 数据类型);3.给列改名:ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;4.删除一个列 ALTER TABLE 表名 DROP COLUMN 列名;5.将一个表改名 ALTER TABLE 当前表名 RENAME TO 新表名;给表加注释comment column on 表名.列名 is '注释内容'; //修改表的列的注释二. 编辑数据表ALTER 语句修改数据表1.修改数据表名ALT
阅读全文
posted @
2011-05-26 21:49
DavidYanXW
阅读(303)
推荐(0) 编辑
ER studio使用
摘要:一. 新建一个逻辑模型(Logical model)新建一个Entities,输入Entity Name(实体名)/Table Name(表名)/Definition(表注释)/Keys(主键和外键), 添加Attributes:Attribute Name: 属性名;Default Column Name: 字段名;Datatype: 数据类型.Definition: 字段注释.Rule/constraint: 规则/约束.输入完成后, 这样一个逻辑模型就建成了.注: 添加Attributes时, 右边有一个"add to primary key"复选框,勾选即可添加为主
阅读全文
posted @
2011-05-19 15:43
DavidYanXW
阅读(3926)
推荐(0) 编辑
嵌套子查询和关联子查询
摘要:嵌套子查询和关联子查询嵌套子查询:1. 内部查询只处理一次; 2. 与null比较,总得到null 3.先进行内部查询,然后再进行外部查询关联子查询: 1. 外部查询得到的每天记录传入到内部查询; 2.内部查询基于外部查询传入的值; 3.内部查询从其结果中把值传回到外部查询,外部查询使用这些值来完成其处理。 外部查询返回较少记录时,关联子查询比嵌套子查询效果高; 内部查询返回较少记录时,嵌套子查询比关联子查询效果高.in和existsselect * from A where cc in (select cc from B) 如果表A较大,那么in比exists的效率要高(可以用到B表上cc列
阅读全文
posted @
2011-05-12 20:23
DavidYanXW
阅读(3313)
推荐(0) 编辑