create unique index IND_MSCID on FACT_SALE (YEARMONTH, SHOPID, ANALYSE_ID, CATEID)update fact_sale a set (zyamt)=(select zy from t_msc_amt b
where a.shopid=b.shopid and a.yearmonth=b.year_month and a.cateid=b.dl and ANALYSE_ID='01'
and b.zy_ly='自营')以上更新语句为什么总是全盘扫描,索引没用上. 请问要怎么建呢,t_msc_amt是临时表,尽量不在它上面建.
where a.shopid=b.shopid and a.yearmonth=b.year_month and a.cateid=b.dl and ANALYSE_ID='01'
and b.zy_ly='自营')以上更新语句为什么总是全盘扫描,索引没用上. 请问要怎么建呢,t_msc_amt是临时表,尽量不在它上面建.
解决方案 »
- oracle设置归档模式的问题
- 触发器中调用存储过程的问题,请大家帮忙
- 表的列值是where形式,能用该列值代替语句里的where吗
- 同一语句表达的不同,引起结果的不同,急!
- oracle存储过程定时执行问题~~~~~~~~急急~跪求~
- JAVA调用存储过程,传入一个数组,传出一个数组怎么实现?
- 各位有把Oracle放到公网上,客户端通过ADSL访问的方式么??安全怎么保障??
- 菜鸟问题: 如何用sqlplus 访问远程database
- 多级编码的排序
- oracle数据库怎么看几个表的关联关系
- linux as4 下安装 oracle10g,如果补丁不全的话会报错么
- 这里有人熟悉oracle补丁方面的信息么?
数据量大的时候,效率比较低, 还不如先关联出临时结果,然后再delete、insert
一般是t1全盘扫描,t2引用索引
建了索引,查询时候不是100%用索引的
http://blog.csdn.net/pathuang68/archive/2009/04/16/4084116.aspx
和
http://blog.csdn.net/pathuang68/archive/2009/04/16/4084139.aspx