在SQL跨表组合查询存在效率问题,举例比如
delete from media_source where movie_id in ( select media_id from media where type=2 ) and origin = 3;
和
delete from media_source where origin = 3 and movie_id in ( select media_id from media where type=2 );
的效率是不一样的。
若origin=3的情况下media_source表中数据量相对比 select media_id from media where type=2大,那么写在后面比写在前面的效率很大。
总的来说,组合查询就要查询结果比较少的查询放在前面,有点像linux的管道了。虽然这里逻辑上是and的关系,但是查询还是有先后顺序。
本文讨论了SQL跨表组合查询中的效率问题,特别是针对不同条件放置位置的影响。通过具体示例说明了如何通过调整查询顺序来提高查询效率。
2809

被折叠的 条评论
为什么被折叠?



