首页 > 这两条查上一篇下一篇的SQL语句那条效率要好些?

这两条查上一篇下一篇的SQL语句那条效率要好些?

语句1

(select id,title,shorturl from cms_article where id < 2500000 order by id desc limit 1) union all (select id,title,shorturl from cms_article where id > 2500000 order by id asc limit 1);

语句2

(SELECT id, title,shorturl FROM cms_article WHERE id = (SELECT max(id) FROM cms_article WHERE id < 2100000)) union all (SELECT id, title,shorturl FROM cms_article WHERE id = (SELECT min(id) FROM cms_article WHERE id > 2100000))

查询时间都差不多,0.0X几秒这样,那到底那个条科学一些,不是很懂,求科普。


explain (select id,title,shorturl from cms_article where id < 2500000 order by id desc limit 1) union all (select id,title,shorturl from cms_article where id > 2500000 order by id asc limit 1);

explain (SELECT id, title,shorturl FROM cms_article WHERE id = (SELECT max(id) FROM cms_article WHERE id < 2100000)) union all (SELECT id, title,shorturl FROM cms_article WHERE id = (SELECT min(id) FROM cms_article WHERE id > 2100000));


我觉得分成两条SQL比较好,第一条先查id,第二条再读内容。只是从理论上进行分析:复杂的SQL在解析时需要花费更多的时间。

【热门文章】
【热门文章】