में पूर्ण टेक्स्ट के साथ OFFSET/FETCH का उपयोग करते समय धीमी कार्यक्षमता मैं क्वेरी परिणामों के डेटाबेस-आकार पेजिनेशन लिखने की कोशिश कर रहा हूं। चूंकि SQL Server 2012 OFFSET/FETCH
प्रदान करता है, मैं इसका उपयोग कर रहा हूं। लेकिन जब मैं अपनी क्वेरी में बयान जोड़ता हूं, तो इसमें 10 गुना अधिक समय लगता है।SQL सर्वर 2012
प्रश्नों:
SELECT
p.ShopId,
count(1) as ProductsQuantity,
MIN(LastPrice) as MinPrice,
MAX(LastPrice) as MaxPrice
FROM Product2 p WITH (NOLOCK)
INNER JOIN
CONTAINSTABLE(Product2, ProductName, 'czarny') AS KEY_TBL
ON KEY_TBL.[key]=p.Id
WHERE
(p.LastStatus > 0 OR p.LastStatus = -1)
GROUP BY p.ShopId
ORDER BY p.ShopId asc
SELECT
p.ShopId,
count(1) as ProductsQuantity,
MIN(LastPrice) as MinPrice,
MAX(LastPrice) as MaxPrice
FROM Product2 p WITH (NOLOCK)
INNER JOIN
CONTAINSTABLE(Product2, ProductName, 'czarny') AS KEY_TBL
ON KEY_TBL.[key]=p.Id
WHERE
(p.LastStatus > 0 OR p.LastStatus = -1)
GROUP BY p.ShopId
ORDER BY p.ShopId asc
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY
3 सेकंड में सबसे पहले क्वेरी परिणाम, 47 सेकंड में एक दूसरे के। कार्य योजना लागू करके अलग हैं, और दूसरी की लागत केवल 7%, क्या पूरी तरह से मेरे लिए कोई मतलब नहीं है के रूप में मूल्यांकन किया जाता है:
मैं पृष्ठांकन के प्रदर्शन में सुधार करने के लिए कैसे मदद की जरूरत है।
+1, बस factyou से बाहर जोड़ा एक योजना की व्याख्या और यह है: दूसरा, जो अस्थायी तालिका में पहले पूछताछ के परिणामों रखा और फिर रहा है के लिए
order by ... offset fetch next
के लिए इसका इस्तेमाल करते हैं वास्तव में टी-एसक्यूएल मुठभेड़ों में एक मुद्दा अंकन अक्सर – Najzero