
一般用到了mybatis框架分页就不用自己写了
直接用RowBounds对象就可以实现,但这个性能确实很低
今天我用到10w级得数据分页查询,到后面几页就迭代了很慢
用于记录
1、10万级数据如下 [未用到分区] 查询速度不到1秒 reportId索引
<select id="getCompanyPageByReportId" resultType="com.newcore.example.models.web.vo.aml.tb.CompanyVo">
SELECT dataid,company_code1 AS companyCode1,company_code2 AS companyCode2,
Company_name AS companyName,getCodeName ('tb_Bord_flag', bord_flag) AS bordFlag
FROM (
SELECT t.dataid,t.company_code1,t.company_code2,t.Company_name,t.bord_flag,t.modifydate,t.modifytime,rownum rownu
FROM aml_tb_company t
WHERE rownum <= (#{offset} * #{limit})
AND reportid = #{reportId}
ORDER BY modifydate DESC,modifytime DESC
) v_aml_tb_company
WHERE v_aml_tb_company.rownu > ( #{offset} -1)* #{limit}
</select>
4亿级数据待优化
持续记录