查询条件中无主键的分页查询sql优化

查询条件中无主键的分页查询sql优化

  1. 主要优化点:

    1. 分页优化:查询条件中无主键,无法通过where {#id} > {startRow}where {#id} between {startRow} and {endRow} 优化。如有其他优化方案麻烦告知,非常感谢!

    2. where添加优化:通过调整条件位置顺序,并以此位置顺序建立索引解决

    3. 非主键字段order by排序:使用一下连接语句解决

      1. 原代码

        SELECT {queryColumns} FROM {tabelName} WHERE {queryCondition} ORDER BY {orderByCondition} ASC limit ?,?
        
      2. 现代码

        SELECT {queryColumns} FROM {tabelName} inner join (SELECT {id} FROM {tabelName} WHERE {queryCondition} ORDER BY {orderByCondition} ASC limit ?,?) as t using({id})
        
posted @ 2021-10-21 18:21  Jancy丶  阅读(276)  评论(0编辑  收藏  举报