开发者社区 问答 正文

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

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

展开
收起
夹心789 2024-05-23 18:44:24 39 发布于浙江 分享
分享
版权
举报
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 评论

    评论

    全部评论 (0)

    登录后可评论
问答分类:
SQL
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等