查询条件中无主键的分页查询sql优化
查询条件中无主键的分页查询sql优化
-
主要优化点:
-
分页优化:查询条件中无主键,无法通过
where {#id} > {startRow}
或where {#id} between {startRow} and {endRow}
优化。如有其他优化方案麻烦告知,非常感谢! -
where添加优化:通过调整条件位置顺序,并以此位置顺序建立索引解决
-
非主键字段order by排序:使用一下连接语句解决
-
原代码
SELECT {queryColumns} FROM {tabelName} WHERE {queryCondition} ORDER BY {orderByCondition} ASC limit ?,?
-
现代码
SELECT {queryColumns} FROM {tabelName} inner join (SELECT {id} FROM {tabelName} WHERE {queryCondition} ORDER BY {orderByCondition} ASC limit ?,?) as t using({id})
-
-