1
我試圖在春季使用PagingAndSortingRepository
,休眠和SQL Server 2014實現服務器端分頁。它工作正常,但東西似乎關閉表現。 頁面越遠,加載時間就越長。休眠和SQL Server 2014的春季數據分頁的性能問題
由休眠記錄的查詢如下(我已經去除了大部分列名):
WITH query
AS (SELECT inner_query.*,
ROW_NUMBER()
OVER (
ORDER BY CURRENT_TIMESTAMP) as __hibernate_row_nr__
FROM (select TOP(?) incidentli0_.IncidentId as Incident1_18_
FROM IncidentList incidentli0_ order by incidentli0_.IncidentId desc
) inner_query)
SELECT Incident1_18_
FROM query
WHERE __hibernate_row_nr__ >= ? AND __hibernate_row_nr__ < ?
根據this answer這是正確的方式分頁查詢應該像爲SQL Server 。
當表格中有400000行時,查詢最後一頁約需1.2秒,第一頁約需60ms。
使用Eclipse的SQL客戶端執行查詢需要幾秒鐘,不管我查詢哪個頁面。
我使用4.3.10.Final版本休眠和1.10.2.RELEASE版本彈簧數據的JPA的。
您是否知道可能導致此類性能問題的原因以及如何解決?