आप यहां स्थानीय चर समाधान के अद्यतन पर एक नज़र डालना चाहेंगे:http://geekswithblogs.net/Rhames/archive/2008/10/28/calculating-running-totals-in-sql-server-2005--- the-optimal.aspx
DECLARE @SalesTbl TABLE (DayCount smallint, Sales money, RunningTotal money)
DECLARE @RunningTotal money
SET @RunningTotal = 0
INSERT INTO @SalesTbl
SELECT DayCount, Sales, null
FROM Sales
ORDER BY DayCount
UPDATE @SalesTbl
SET @RunningTotal = RunningTotal = @RunningTotal + Sales
FROM @SalesTbl
SELECT * FROM @SalesTbl
अन्य सभी तरीकों से बेहतर प्रदर्शन करता है, लेकिन गारंटीकृत पंक्ति क्रम के बारे में कुछ संदेह है। हालांकि अस्थायी तालिका अनुक्रमित होने पर ठीक काम करने लगता है ..
- नेस्टेड उप-क्वेरी 9300 एमएस
- 6100 एमएस से स्वयं जुड़ें
- कर्सर 400 एमएस
- स्थानीय चर 140 ms पर अपडेट करें