半外连接优化一列

news/2024/7/10 4:44:39 标签: 优化, join

据说

select  a.*,b.*
from a, b
where a.id=b.id(+)
and a.name like '%%'
and b.name like '%%'

执行计划当中 无法把B的条件优先在连接前执行,从而减少B外连接的数据量.

 

如果才用内嵌视图的话可以当带来其他问题

select a.*, c.*
from  a,
( select b.*  from b where b.name like '%%') c
where a.id=c.id
and a.name like '%%'


最终解决方案:

select a.*,b.*
from a left join b 
on (a.id=b.id and b.name like'%%')
where a.name like '%%'


 


http://www.niftyadmin.cn/n/682508.html

相关文章

通过response对象的sendRedirect方法重定向网页

通过response对象的sendRedirect方法重定向网页 制作人:全心全意 使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点与转发不同。在客户端浏览器上将会得到跳转的地址&#xff0…

Oracle中Cursor使用

Oracle中Cursor使用1,什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互的机制。 ②关系数据库中的操作是在完整的行集合上执行的。 由 SELECT 语句返回的行集合包括满足该语句的 WHERE 子句所列条件的所有行。由该语句返…

批量bulk insert 原理不明白之处 求解答

cursor cur_avg_score is --返回数量有500万行 select c.name,course_name, avg(score) from (select student_id,name --6from awhere a.name like 张% --4 ) c --5 inner join -- ( select b.score,student_id,course_id,course_n…

Linux iostat监测IO状态

nux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。 1. 基本使用$iostat -d -k 1 10其中参数 -d 表示显示设备(磁盘)使用状态;-k表示某些使…

本地用户模式、虚拟用户模式使用

vsftpd服务程序目录中默认存放俩个名为(ftpusers)(user_list)文件,这俩个文件的功能一个只要写有某位用户的名字不能允许这位用户登录到fpt服务器,这样可以有效避免通过FTP服务对root进行暴力破解,如果你需…

NIO之通道(Channel)的原理与获取以及数据传输与内存映射文件

通道(Channel) 由java.nio.channels包定义的,Channel表示IO源与目标打开的连接,Channel类似于传统的“流”,只不过Channel本身不能直接访问数据,Channel只能与Buffer进行交互。通道主要用于传输数据&#x…

NIO之阻塞IO与非阻塞IO

阻塞IO 传统的 IO 流都是阻塞式的。 也就是说,当一个线程调用 read() 或 write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。 因此,在完成网络通信进行 IO 操作时,由于线…

Linux查看硬件信息以及驱动设备的命令

用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)查看CPU信息:cat /proc/cpuinfo查看板卡信息:cat /proc/pci查看PCI信息:lspci (相比cat /proc/pci更直观)查看内存信息:cat /proc/meminf…