Oracle
LZL102801
我喜欢在繁华的中心静静地看那车水马龙,灯红酒绿
展开
-
索引对NULL不起作用的解决方案
CREATE INDEX OPR_DATA.KRI_DSMT_MAP_LV_INDEX ON OPR_DATA.KRI_DSMT_MAP(LV_NODE_ID,0);--复合索引 , 处理索引对NULL不起作用orNVl(LV_NODE_ID,-1);原创 2012-11-29 11:10:18 · 670 阅读 · 0 评论 -
oracle escape
'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。SQL> select * from t11 where name like '%_%'; NAME ---------- aa_a aaa SQL> select * from t11 where name like '%\_%' escape '\'; N原创 2012-11-29 11:05:18 · 475 阅读 · 0 评论 -
优化sql语句提高oracle执行效率 .
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在 FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表 (intersection table)作为转载 2012-11-29 10:20:25 · 783 阅读 · 0 评论 -
union
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All,对两个结果集进行并集操作,包括重复行,不进行排序;Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。 可以在最后一个结果集中指定Order by子句改变排序方式。原创 2012-11-29 11:08:46 · 323 阅读 · 0 评论 -
rowid 和 rownum的使用
两者都是伪列,rowid 多用于 查找和删除重复记录(1).适用于有大量重复记录的情况(列上建有索引的时候,用以下语句效率会很高): Delete empa Where ROWID Not In(Select Min(ROWID) From empa Group By empno);(2).适用于有少量重复记录的情况(注意,对于有大量重复记录的情况,用以下语句效率会很原创 2013-02-27 10:44:00 · 572 阅读 · 0 评论 -
alter table structure 表中有数据改表结构
---该列无数据alter table kri_entity_hist modify CREATED_DATE TIMESTAMP(6); ---如果所改的列有数据: ORA-01439:column to be modified must be empty to change datetype 1.alter table kri_entity_hist modi原创 2012-03-20 11:01:36 · 1187 阅读 · 0 评论