高分请教右键关联查询是否使用索引问题!急,有了答案利马结贴! 如果两个表关联查询,如下from a,bwhere a.id=b.id(+) and a.type=1a.type有索引,请问此查询是否用到a.type索引,执行计划里面我看a表是全表扫描!请高手确认下,最好给出合理解释,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要看a.type中的数据有没有NULL的,如有则不能用到索引了但这样的关联,当B表没有数据而A表有数据的时候,则a.type一定是NULL了,所以用不到索引 不太明白,“当B表没有数据而A表有数据的时候,则a.type一定是NULL了”不见得吧,a.type是全部非空的,a和b是用id关联而不是type关联的那请问什么情况下会用到索引呢?多谢赐教! 与数据分布有关,如果表a中type的值很少,或者是type=1的记录很多,优化器都可能选择使用对表a做全表扫描。还有一种可能是type的类型是字符型,where条件中写成type=1也是不使用索引。 经过大量测试,感觉用(+)外关联还是不保险,用left join可以确保使用索引,谢谢大家的帮助! PLS-00905: 对象 MYCODELIBRARY.FIND_SUBJECT 无效 tomcat启动出现异常 求条sql 大家看看我写的sql语法对吗? 欢迎指教. 回滚段问题 oracle里 Management Server怎么配呀?在另外一台机器上联接我的数据库该如何配置? 求一个有难度的存储过程写法! 急急 : ORACLE8 的口令文件丢失,重装ORACLE系统。如何处理? oracle 删除表空间 drop tablespaces ora-00942 一个有挑战性的sql,望指教 insert all 时候遇到关于主键的问题,在线等!!
但这样的关联,当B表没有数据而A表有数据的时候,则a.type一定是NULL了,所以用不到索引
那请问什么情况下会用到索引呢?多谢赐教!