1
我有這種情況:我們在SQL Server數據庫中的一個表已經有5000萬行。我們不時地批量插入行。每個批次都有相同的批次ID和日期時間戳,對於行和批次一次最多可以有100k行。SQL Server - 更快的記錄檢索
在一天中有許多批次運行。使用batchID
和datetimestamp
查詢第一批行的最佳方法是什麼?
我們一直在使用min的批處理id並使用相應的datetimestamp一段時間,但它似乎沒有高效運行。你能否提供一些見解,讓我們可以做得更好?感謝您的回覆。
請提供表結構,包括索引和可能的幾行示例數據。如果批處理中的所有行都是相同的,我不明白爲什麼要將datetimestamp存儲在該表中。而且我也不明白「首批記錄」在這種情況下意味着什麼。 – 2013-03-10 08:28:13
CREATE TABLE [試驗]( [BATCH_ID] [INT] NOT NULL, [Claim_ID] [VARCHAR(20)NOT NULL, [TRANSACTION_ID] [VARCHAR](255)NULL, [TRANSACTION_TYPE] [VARCHAR( 5)NOT NULL, [paymentAmount]錢, [EDATE] [日期時間] NULL) 約束[pk_Test] PRIMARY KEY CLUSTERED ( [BATCH_ID] ASC, [Claim_ID] ASC, [TRANSACTION_ID] ASC,\t [Transaction_Type] ASC)這是表結構,第一批記錄意味着第一組100k記錄進入表中一天。 – UnlimitedMeals 2013-03-10 08:34:49
如果在每個批次中記錄具有相同的批次ID和日期時間戳,並且每個批次具有100K記錄,則應爲批次標識和戳記創建表格,然後使用FK記錄表格。 – urlreader 2013-03-10 08:40:03