易截截图软件、单文件、免安装、纯绿色、仅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函数之substr

Oracle

数之substr
关键字: substr

substr函数有三个参数,允许你将目标字符串的一部份输出,
第一个参数为目标字符串,
第二个字符串是将要输出的子串的起点,
第三个参数是将要输出的子串的长度。
    
例子1:
substr('ABCDEFG',   2,   3)   ......

读取oracle blob字符串

OleDbConnectioncon=newOleDbConnection(cnnstr);
try
{
con.Open();
}
catch
{}
OleDbCommandcmd=newOleDbCommand(strSQL,con);
System.Data.OleDb.OleDbDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
 
{
stringdd=dr["gggg"].ToString();
byte[]ooo=(byte[])dr["hhhh"];
stringstr;
str=Sys ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号