簡體   English   中英

SQL Server 100萬條記錄:獲取表的最后一條記錄的最佳方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM