select * from taccoinfo c where (c.c_identityno = '32128319820406203X'

or c.c_identityno = fchangeidentityno('32128319820406203X'));

使用or 就会全表扫描,使用and会能用上索引,请问怎么优化?

CRM_PERSONAL_CUST和CRM_ORG_CUST表的CERTCODE和ORGCERTCODE是有索引的

视图sql

create or replace view taccoinfo as

select /*+ index(CRM_ACCOINFO) */

SYSDATE AS C_MODIFYDATE,

'-' AS C_MAILZIP,

'-' AS C_MAILADDRESS,

'-' AS C_HOMEPHONE,

'-' AS C_CORPPHONE,

'-' AS L_BILLTIME,

'-' AS L_MBILLTIME,

'-' AS L_SBILLTIME,

'-' AS C_EMOBILEPHONE,

'-' AS C_EEMAIL,

'-' AS C_EMAILADDRESS,

'-' AS C_UNPHONE,

to_char(a.CUSTID) as c_custno,

a.ACCOUNTTYPE as c_accounttype,

a.FUNDACCOUNT as c_fundacco,

a.TACHANNELID as c_agencyno,

'-' as c_netno,

'-' as c_childnetno,

a.OPENDATE as d_opendate,

a.ACCOUNTSTATUS as c_accostatus,

'-' as c_freezecause,

TO_DATE('18990101', 'YYYYMMDD') as d_backdate,

999999999 AS L_CHANGETIME,

TO_DATE('18990101', 'YYYYMMDD') as d_firstinvest,

'-' as c_password,

substr('1',0,1) as c_custtype,

b.CUSTNAME as c_custname,

b.CUSTSIMPLENAME as c_shortname,

TO_CHAR('-') as c_helpcode,

b.CERTTYPE as c_identitytype,

b.CERTCODE as c_identityno,

b.POSTCODE as c_zipcode,

b.ADDRESS as c_address,

b.HOMEPHONE as c_phone,

b.FAX as c_faxno,

b.MOBILE as c_mobileno,

b.EMAIL as c_email,

b.SEX as c_sex,

TO_CHAR(b.BIRTH, 'YYYYMMDD') as c_birthday,

b.WORK as c_vocation,

decode(b.SCHOOLAGE, '00','01','01','02','02','03','03','04','QT') as c_education,

b.YEAREARNING as c_income,

b.AGENTNAME as c_contact,

b.AGENT_CERTTYPE as c_contype,

b.AGENT_CERTCODE as c_contno,

decode(e.c_billsendflag,'按季','3','2') as c_billsendflag,

'-' as c_callcenter,

'-' as c_internet,

'-' as c_secretcode,

'-' as c_nationality,

b.CITY as c_cityno,

'-' as c_lawname,

'-' as c_shacco,

'-' as c_szacco,

'-' as c_broker,

'-' as f_agio,

b.REMARK as c_memo,

'-' as c_reserve,

'-' as c_corpname,

b.PHONE as c_corptel,

'-' as C_SPECIALCODE,

'-' as c_actcode,

a.BILLSENDPASS as c_billsendpass,

'-' as c_bill,

'-' as c_checked,

'-' as l_serialno,

b.RELATIONGRADE as c_viplevel,

decode(substr(a.FUNDACCOUNT, 1,2), '10', '10','99','99', '98') as c_tano,

(case when e.c_billsendflag = '不寄送' or e.c_billsendflag = '强制不寄送' then '1' else '0' end) as c_billsend,

'-' as c_bank_acconame,

'-' as c_bank_accono,

'-' as c_bank,

'-' as  l_trglimit,

'-' as c_modifyfrom,

'-' as c_modifyoperator,

TO_DATE('18990101', 'YYYYMMDD') as d_lastmodify,

'-' as C_BILLMISS,

'-' as C_BOURSEFLAG,

'-' as C_CUSTOMER_MEMO,

'-' as C_MANUALFLAG,

'-' as C_OTHERFUND,

'-' as C_SEND,

'-' as C_UNEMAIL,

'-' as C_UNSMS,

'-' as C_WRONGMOBILENO,

'-' as c_SERVICEUSER,

'0' as c_throwaway,

'9' as c_servicetype,

to_date('20991231', 'yyyymmdd') as d_idnovaliddate,

null as c_bp,

b.C_SPECIALACCOUNT as C_SPECIALACCOUNT,

'0'  as c_billsendpost,

'' as  c_recommender,

'' as  c_recommendertype

from CRM_ACCOINFO a ,CRM_PERSONAL_CUST b,crm_contactor e

where to_char(b.CUSTID)=to_char(a.CUSTID) and e.objectid = b.CUSTID

and e.contactortype = '0' --客户联系人

and e.role='1' --主联系人

--***********CRM_ORG_CUST表关联*******************

union ALL

select /*+ index(CRM_ACCOINFO) */

SYSDATE AS C_MODIFYDATE,

'-' AS C_MAILZIP,

'-' AS C_MAILADDRESS,

'-' AS C_HOMEPHONE,

'-' AS C_CORPPHONE,

'-' AS L_MBILLTIME,

'-' AS L_SBILLTIME,

'-' AS L_BILLTIME,

'-' AS C_EMOBILEPHONE,

'-' AS C_EEMAIL,

'-' AS C_EMAILADDRESS,

'-'  AS C_UNPHONE,

to_char(c.CUSTID) as c_custno,

c.ACCOUNTTYPE as c_accounttype,

c.FUNDACCOUNT as c_fundacco,

c.TACHANNELID as c_agencyno,

to_char('-') as c_netno,

'-'  as c_childnetno,

c.OPENDATE as d_opendate,

c.ACCOUNTSTATUS as c_accostatus,

TO_CHAR('-') as c_freezecause,

TO_DATE('18990101', 'YYYYMMDD') as d_backdate,

999999999 AS L_CHANGETIME,

TO_DATE('18990101', 'YYYYMMDD')  as d_firstinvest,

'-'  as c_password,

substr('0',0,1) as c_custtype,

d.CUSTNAME as c_custname,

d.CUSTSIMPLENAME as c_shortname,

TO_CHAR('')  as c_helpcode,

d.ORGCERTTYPE as c_identitytype,

d.ORGCERTCODE as c_identityno,

d.POSTCODE as c_zipcode,

d.ADDRESS as c_address,

d.PHONE as c_phone,

d.FAX as c_faxno,

TO_CHAR('')  as c_mobileno,

d.URL as c_email,

'-'  as c_sex,

'-' as c_birthday,

'-' as c_vocation,

'-'  as c_education,

'-'  as c_income,

d.DEALER_NAME as c_contact,

'-'  as c_contype,

'-'  as c_contno,

decode(f.c_billsendflag,'按季','3','2') as c_billsendflag,

'-' as c_callcenter,

'-' as c_internet,

'-' as c_secretcode,

d.COUNTRY as c_nationality,

d.CITY as c_cityno,

d.ARTIFICAL as c_lawname,

'-' as c_shacco,

'-' as c_szacco,

'-'  as c_broker,

'-' as f_agio,

d.REMARK as c_memo,

'-'  as c_reserve,

'-'  as c_corpname,

d.PHONE as c_corptel,

'-'  as C_SPECIALCODE,

'-'  as c_actcode,

'-'  as c_billsendpass,

'-' as c_bill,

'-'  as c_checked,

'-' as l_serialno,

d.RELATIONGRADE  as c_viplevel,

decode(substr(c.FUNDACCOUNT, 1,2), '10', '10','99','99', '98') as c_tano,

(case when f.c_billsendflag = '不寄送' or f.c_billsendflag = '强制不寄送' then '1' else '0' end) as c_billsend,

'-'  as c_bank_acconame,

'-'  as c_bank_accono,

'-'  as c_bank,

'-' as l_trglimit,

'-'  as c_modifyfrom,

'-' as c_modifyoperator,

TO_DATE('18990101', 'YYYYMMDD') as d_lastmodify,

'-' as C_BILLMISS,

'-' as C_BOURSEFLAG,

'-' as C_CUSTOMER_MEMO,

'-' as C_MANUALFLAG,

'-' as C_OTHERFUND,

'-' as C_SEND,

'-' as C_UNEMAIL,

'-' as C_UNSMS,

'-' as C_WRONGMOBILENO,

'-' as c_SERVICEUSER,

'0' as c_throwaway,

'9' as c_servicetype,

to_date('20991231', 'yyyymmdd') as d_idnovaliddate,

null as c_bp,

d.C_SPECIALACCOUNT as C_SPECIALACCOUNT,

'0'  as c_billsendpost,

'' as  c_recommender,

'' as  c_recommendertype

from CRM_ACCOINFO c

, CRM_ORG_CUST d , crm_contactor f

where  to_char(c.CUSTID)=to_char(d.CUSTID) and f.objectid = c.CUSTID

and f.contactortype = '0' --客户联系人

and f.role='1' --主联系人;

oracle查询使用or,查询视图,使用or就用不上索引相关推荐

  1. oracle报错查询动态视图,oracle基表和动态性能视图

    1. 数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息.它是只读表和视图的集合,所有者为sys用户.用户自能在数据字典上执行查询操作,而维护和修改是由系统自动完成的. 数据 ...

  2. Oracle字符集的查看查询和Oracle字符集的设置修改

    本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题. 一.什么是Oracle字符集 Oracle字符集是 ...

  3. Oracle数据库之子查询

    Oracle数据库总结: Oracle数据库之基本查询 Oracle数据库之过滤和排序 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 SQL> 注意的 ...

  4. Oracle数据库之基本查询

    oracle安装参照: Oracle数据库之安装教程 Oracle数据库总结: Oracle数据库之基本查询 Oracle数据库之过滤和排序 Oracle数据库之单行函数 Oracle数据库之多行函数 ...

  5. 【转】ORACLE中的子查询 ---OCP--047--46

    "子查询"就是查询中嵌套着另一个查询,也即通过SELECT语句的嵌套使用形成子查询.当我们不知道特定的查询条件时,可以用子查询来为父查询提供查询条件以获得查询结果. ORACLE中 ...

  6. [转载]oracle常用经典SQL查询

    原文地址:oracle常用经典SQL查询作者:来者 oracle常用经典SQL查询 1.查看表空间的名称及大小  select t.tablespace_name, round(sum(bytes/( ...

  7. oracle 5表关联查询,Oracle学习笔记5 - 表查询

    Oracle学习笔记五 --- 表查询  下面使用scott用户,用到的表见底部 1.查看表结构 desc [表名] desc emp 2.distinct命令,去除重复行 3.练习 查找SMIT ...

  8. Oracle EBS 常用表 查询语句

    ORACLE EBS常用表查询语句 1.  OU.库存组织 SELECT hou.organization_id ou_org_id,           --org_id   hou.name ou ...

  9. oracle通过值查字段,Oracle 中 根据值 查询 所在 表和字段

    -------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, d ...

最新文章

  1. R语言dplyr包recode函数、recode_factor函数数值或因子替换实战
  2. numpy库中ndarray切片操作的参数意义
  3. java for loop_Java for循环执行了两次
  4. Ember.js 入门指南——路由切换的终止和回跳
  5. C++11 并发指南一(C++11 多线程初探)
  6. Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法。
  7. css比较特殊选择器汇总(持续更新)
  8. 使用redis批量生成主键(订单)Id
  9. libcudart.so.8.0 cannot open shared object file: No such file or directory
  10. [转载] Python中的memoryview
  11. iOS开发手记-仿QQ音乐播放器动态歌词的实现
  12. kbmmw 的HTTPSmartService中的跨域访问
  13. python中的unicode码是什么_Python中Unicode字符串
  14. Opencv项目实战:05 物体检测
  15. 超级强大服务器终端,告别 XShell 打造强大的Windows 终端
  16. 子龙山人Learn Emacs in 21 Days: day 6 学习笔记
  17. Notepad++下载markdown viewer plugin
  18. 最小采样频率计算公式_AD5933使用外部时钟获得更低的分析频率
  19. JDK.attach 包解析
  20. 加速安装pytorch

热门文章

  1. NavReady的使用
  2. 广西师范大学计算机调剂难吗,2014年广西师范大学考研调剂过来人给的建议
  3. dhcp计算机毕业论文,基于线程池机制的高性能DHCP服务器研究与实现-计算机科学与技术专业毕业论文.docx...
  4. java ssm框架详解_Java的SSM框架怎样才算真正掌握?
  5. python多线程执行_python多线程实现同时执行两个while循环
  6. 【下载】《看见新力量》第二期,带你走进数十位科技创业者背后的故事
  7. 开箱即用——用模板快速生成《客户意见反馈表》
  8. 智能数据构建与管理平台Dataphin的前世今生:缘起
  9. 解读云原生下的可观察性发展方向
  10. 想咸鱼翻身不粘锅?加油