pageHelper分頁外掛導致的查詢慢的問題最佳化

曹伟666發表於2024-08-29

首先在yml中配置

mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

會進行sql語句列印

問題:進行分頁查詢時pageHelper自動生成的count語句相當於在查詢語句外包一層select count(1) from(你的查詢語句)

對於你的查詢語句的返回條件中有較多計算和較多欄位返回時這個預設的查詢語句效率較低

解決:id必須和你的分頁查詢id一致後面加_COUNT,查詢條件可以抽取為公共的共兩個sql語句使用,同時該sql不要定義mapper介面

<select id="findByPage_COUNT" resultType="long">
        SELECT COUNT(1)
        FROM user
        <include refid="condition_sql" />
</select>

相關文章