- 如果需要跨主机进行JOIN,跨应用进行JOIN,或者数据库不能获得较好的执行计划,都可以自己通过程序来实现JOIN。
- 例如:SELECT a.*,b.* FROM a,b
- WHERE a.col1=b.col1 AND a.col2> 10 ORDER BY a.col2;
- 可以利用程序实现,先SELECT * FROM a WHERE a.col2>10 ORDER BY a.col2;–(1)
- 利用(1)的结果集,做循环,SELECT * FROM b WHERE b.col1=a.col1;
- 这样可以避免排序,可以在程序里控制执行的速度,有效降低数据库压力,也可以实现跨主机的JOIN。