如果我有一個包含大量信息的查詢(類似於幾個視圖,每個視圖都碰到幾個表,並且有許多表具有成千上萬行),我只需要從中獲取10條記錄即可顯示對於用戶來說,在支持SQL Server 2000的同時檢索這些記錄的最佳方式是性能優勢?一旦我可以使用SQL Server 2005,ROW_NUMBER
看起來像是一個明顯的選擇(糾正我,如果我錯了),但在2000年該怎麼辦?在SQL Server 2000中分頁大量數據的最有效方法是什麼?
0
A
回答
0
Greg Hamilton has an article它使用SET ROWCOUNT
和SELECT
變成一個變量,以避免引用不需要的行,並帶有一些非常引人注目的性能結果。但是,MSDN says
如果在選擇列表中引用了一個變量,則應該爲它分配一個標量值,否則SELECT語句應只返回一行。
但隨後接着說
注意,如果在作業中引用的效果纔可見。
如果SELECT語句返回多行並且變量引用非標量表達式,則該變量將設置爲結果集最後一行中爲表達式返回的值。
表明它是在這種情況下真的好嗎(右?)
格雷格結束了與此:
CREATE PROCEDURE [dbo].[usp_PageResults_NAI]
(
@startRowIndex int,
@maximumRows int
)
AS
DECLARE @first_id int, @startRow int
-- A check can be added to make sure @startRowIndex isn't > count(1)
-- from employees before doing any actual work unless it is guaranteed
-- the caller won't do that
-- Get the first employeeID for our page of records
SET ROWCOUNT @startRowIndex
SELECT @first_id = employeeID FROM employees ORDER BY employeeid
-- Now, set the row count to MaximumRows and get
-- all records >= @first_id
SET ROWCOUNT @maximumRows
SELECT e.*, d.name as DepartmentName
FROM employees e
INNER JOIN Departments D ON
e.DepartmentID = d.DepartmentID
WHERE employeeid >= @first_id
ORDER BY e.EmployeeID
SET ROWCOUNT 0
GO
此方法假定你有一個唯一的ID通過命令,我不認爲你可以按照原樣使用這種方法,比如說,對一個非唯一的DateTime列進行排序。
相關問題
- 1. 在SQL Server中分區大表的最佳方法是什麼?
- 2. 在Sql Server中遷移這些數據的最有效方法是什麼?
- 3. 將大量記錄插入SQL Server數據庫的最快方法是什麼?
- 4. 什麼是處理數據庫中大量表的最有效方法?
- 5. 將UniDataSet複製到SQL Server的最有效方法是什麼?
- 6. 在Firebase中分頁處理大量數據的最有效方法
- 7. 使用python處理大量磁盤數據的最有效方法是什麼?
- 8. SQL Server 2000/2005中Brownfield數據庫開發的最佳方法
- 9. SQL Server 2000中的最大數據庫大小MSDE
- 10. SQL Server 2000 - 什麼是「實際行數」?
- 11. 什麼是加載大量的數據到SQL Server Express的最佳方式
- 12. 在SQL Server中批量插入大量數據的最快方法是什麼(C#客戶端)
- 13. 什麼是在c#中的表中存儲大量數據的最有效的方式是什麼?
- 14. 什麼是填充MS SQL數據庫與大量數據的最快方法
- 15. 什麼是在網站上顯示大量數據的最有效方式?
- 16. 將大量數據下載到android的最有效方法是?
- 17. SQL Server 2000分頁幫助
- 18. 將SQLServer 2000數據庫導出到XML最簡單的方法是什麼?
- 19. 在OpenGL中管理大量行的最有效方法是什麼?
- 20. 什麼是記錄極少量數據的最有效方式?
- 21. 在SQL Server中存儲大量字符串消息的最有效方法?
- 22. 什麼是用Java讀取大量數據的有效方式
- 23. 從觸發器執行MS SQL Server 2000 DTS包的最佳方法是什麼?
- 24. 翻譯大量文本數據的最佳方法是什麼?
- 25. 維持SQL Server數據庫表中最大數量條目的最有效方法
- 26. 什麼是在SQL Server CE中查找數據的最快方法Winforms
- 27. 在SQL Server中以XML格式存儲數據的最佳方法是什麼?
- 28. 什麼是使用C#在SQL Server中保存數據的最快方法?
- 29. 什麼是在Javascript中反轉數組的最有效方法?
- 30. 在Java中輸入數組的最有效方法是什麼?