开发者社区> 问答> 正文

能不能给出一个SQL查询优化的例子?

能不能给出一个SQL查询优化的例子?

展开
收起
夹心789 2024-05-23 18:44:24 11 0
1 条回答
写回答
取消 提交回答
  • 考虑以下SQL查询:
    SELECT * FROM mytbl ORDER BY id LIMIT 100000, 10;
    当start值很大时,这个查询可能会变得非常慢。优化后的查询可以是:

    SELECT * FROM mytbl WHERE id >= (SELECT id FROM mytbl ORDER BY id LIMIT 100000, 1) LIMIT 10;
    

    或者使用JOIN来改进:

    SELECT * FROM mytbl AS ori  
    INNER JOIN (SELECT id FROM mytbl ORDER BY id LIMIT 100000, 10) AS tmp ON ori.id = tmp.id;
    

    这两个优化版本避免了全表扫描,并通过子查询快速定位到起始记录。

    2024-05-23 19:09:54
    赞同 4 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载