簡體   English   中英

處理大量數據的最佳實踐

[英]Best practice for operating on large amounts of data

我需要對具有26+百萬行的表進行大量處理:

  1. 根據所述列的數據確定每列的正確大小
  2. 識別並刪除重復的行。
  3. 創建一個主鍵(自動遞增ID)
  4. 創建一個自然鍵(唯一約束)
  5. 添加和刪​​除列

請列出有關如何加快此過程的提示以及上面列出的處理順序。

非常感謝。

更新:不必擔心並發用戶。 此外,此表上沒有索引。 該表是從源文件加載的。 全部說完之后,將有索引。

更新:如果您使用的列表與我列出的列表不同,請隨時提及。

根據到目前為止的評論和我發現的工作:

  1. 從26+百萬行中創建行的子集。 我發現500,000行效果很好。
  2. 刪除不使用的列(如果有)
  3. 使用max(len())在一次掃描中為所有列設置適當的數據類型長度
  4. 在列/列上創建一個(如果可能的話)唯一的聚集索引,該索引最終將成為自然鍵。
  5. 在所有行上重復步驟2-4

如果要刪除某些列,則可能應首先執行此操作。 這將減少您必須為其他操作讀取的數據量。

請記住,在修改數據時,這可能還需要修改包含數據的索引。 因此,如果計划對表進行大量更新,則最好刪除索引,然后再添加索引。

順序:5、2、1、3、4

1:沒辦法解決:從...中選擇Max(Len(...))

2:一切都取決於您認為重復的內容。

3:在線叢書中的ALTER TABLE將告訴您如何操作。 確實沒有辦法加快速度。

4:參見3。

5:參見3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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