[英]SQL Server 1 million records: best way to get fastest last record of table?
SQL Server 100萬條記錄:獲取表的最后一條記錄的最佳方法?
示例:我有一個包含100萬條記錄的表A。 如何獲得最快的最后記錄?
我知道: SELECT TOP 1 * FROM A ORDER BY ID DESC
但我認為這對我來說不是好方法。
如果您在ID上具有聚簇索引(可能是主鍵索引),則問題中的查詢將表現良好。 沒有更快的方法從表的單行中檢索所有列。
我將添加一個表,從邏輯上說,它是一組無序的行,因此需要ORDER BY
返回“最后”或“第一”行。 ORDER BY
列上的b樹索引將有效地定位行。
在主鍵和值上只有一種索引方式。 order by有一點成本,但是如果您在order Column上有索引就可以
--ORDER BY 1 DESC means order by primary key index desc
SELECT [Columns] FROM [TABLENAME] ORDER BY 1 DESC
--or you can use this if your first column is IDENTITY or A/A
SELECT [Columns] FROM [TABLENAME] ORDER BY [YOUR_COLUMN_WITHA/A ] DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.