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

Oracle 的视图与索引


有表A(字段A1,A2)和表B(字段B1,B2).
字段A2,B2上都有索引.
A,B 表联查
sql1 这个sql 非常快 2秒的样子
select * from A,B where A.A1=B.B1(+) and A2='值1'
sql2 这个sql 慢到让人无法忍受
select * from A,B where A.A1=B.B1(+) and B2='值1'
外联以后 表B上的索引不起作用了.
如果换成内联 速度很快.
select * from A,B where A.A1=B.B1 and B2='值1'
1.物化视图
普通视图不可以建索引。物化视图可以建索引。
CREATE  MATERIALIZED  VIEW  m_tb  REFRESH  WITH  ROWID  as  select  *  from  tb;
create  index  idx_tb  on  m_tb(col1); 
2.用hint语句强制指定优化器类型
select /*+index(A,idx_a1) index(B,idx_b1)*/* from A,B where A.A1=B.B1(+) and B1='值1'
2010-02-16 16:04:51 BY TZC


相关文档:

ORACLE中Like与Instr性能大比拼

t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:
SQL> set timing on
SQL> select count(*) from t where instr(title,’手册’)>0;
COUNT(*)
—&md ......

ORACLE 毫秒转换为日期 日期转换毫秒

--日期转换毫秒
SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY-MM-DD HH24:MI:SS') -
TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 * 1000
from DUAL;

--毫秒转换日期
SELECT TO_CHAR(1112070645000 / (1000 * 60 * 60 * 24) +
TO_ ......

ORACLE游标

ORACLE游标
游标:容器,存放当前SQL语句影响的记录
       所有DML语句都会用到游标
      
       逐行处理影响的行数
 
游标
       静态游标:游标与SQL语句在运行前关联
&nb ......

ORACLE导出和导入实用程序

导出和导入实用程序
 
q      导出和导入实用程序用于实施数据库的逻辑备份和恢复
q      导出实用程序将数据库中的对象定义和数据备份到一个操作系统二进制文件中
q      导入实用程序读取二进制导出文件并将对象和数据载入数据库中 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号