से बहुत धीमी है इसमें मेरे पास 100 एमएम रिकॉर्ड के साथ एक टेबल है। तालिका में क्लस्टर्ड इंडेक्स और एक नॉनक्लस्टर्ड इंडेक्स है।एसक्यूएल सर्वर संग्रहीत प्रक्रिया सीधे क्वेरी
मैं तालिका पर टी-एसक्यूएल का उपयोग करके मूल गणना चला सकता हूं और इसे चलाने के लिए 1 सेकंड लगते हैं। जब मैं एक संग्रहीत प्रक्रिया के अंदर एक ही सटीक गिनती क्वेरी डालता हूं तो इसे चलाने के लिए 12 सेकंड लगते हैं।
मैंने मानक क्वेरी और संग्रहीत प्रक्रिया दोनों के लिए निष्पादन योजना को देखा है और वे दोनों गैर-क्लस्टर इंडेक्स का उपयोग कर रहे हैं।
मुझे यकीन नहीं है कि संग्रहीत प्रक्रिया मानक क्वेरी की तुलना में इतनी धीमी क्यों है।
मैंने इस तरह की स्थिति में रीइंडेक्सिंग के बारे में कुछ चीजें पढ़ी हैं लेकिन मुझे यकीन नहीं है कि मुझे ऐसा करने की आवश्यकता क्यों है। इसके अलावा, इसे रेनडिएक्स में कुछ घंटे लगते हैं इसलिए मैं यह सुनिश्चित करना चाहता हूं कि यह काम करेगा।
इस पर कोई मदद महान होगी।
धन्यवाद
अद्यतन
यहाँ संग्रहीत प्रक्रिया है:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE quickCount
@sYID INT,
@eYID INT
AS
BEGIN
SET NOCOUNT ON;
SELECT COUNT(leadID)
FROM dbo.leads
WHERE yearID >= @sYID
AND yearID <= @eYID
END
GO
और यहाँ मानक क्वेरी है:
SELECT COUNT(leadID)
FROM leads
WHERE yearID >= 0
AND yearID <= 99
मुझे कोई पैरामीटर से चलाने का प्रयास किया और एसपी तेजी से चलता है (1 सेकंड)। तो मुझे लगता है कि यह पैरामीटर के साथ कुछ करने के लिए है।
आप हम में से सपा एक सा दिखा सकते हैं, डो ने आपको कोई पैरामीटर में पारित? –
मुझे लगता है कि आपको अपनी क्वेरी और एसपी दिखाने की आवश्यकता होगी। –
ऐसा हो सकता है कि आपने स्थिरांक के साथ क्वेरी की कोशिश की है और इस स्थिरांक के बजाय आपकी प्रक्रिया उपयोग पैरामीटर। मैं आपको SQLFiddle उदाहरण बनाने या स्कीमा और क्वेरी/sp –