2012-02-10 22 views
1

我有一張表格用於緩存json字符串,有一段時間,我需要清除它。什麼是清除表格內容的最快方法?刪除表格內容的最快方法

我現在正在使用linq-to-sql,但我想知道是否沒有比我的L2S查詢更快速的單班型命令。

感謝您的建議。

+0

看看這篇文章:http://stackoverflow.com/questions/9103037/truncate-or-drop-and-create-table – 2012-02-10 23:41:23

回答

2

SQL語句

truncate table [name of table] 
1

最快的方法肯定是使用;

TRUNCATE TABLE <表名>

這將刪除所有行,繞過記錄所有個別刪除。

2
context.ExecuteCommand("TRUNCATE TABLE Entity"); 
1

如果沒有外鍵約束,請嘗試使用DROP TABLE,然後重新創建它。我已經看到這項工作比TRUNCATE更快。你只需要編寫它的腳本。

+0

請解釋爲什麼丟棄和創建會比截斷更好。就我所能看到的日誌記錄而言,創建[開銷稍高](http://dba.stackexchange.com/questions/4163/why-use-both-truncate-and-drop/7685#7685)因爲它們都執行相同的工作,但「drop」還會從系統表中刪除所有有關表和列的元數據的額外刪除操作。 – 2012-02-11 12:17:42

+0

正如我所說,在某些情況下,我已經看到了更快的下降速度。我並不是說它完全不同。 – 2012-02-11 12:24:07

+0

那麼在什麼特定情況下它會工作得更快呢?因爲它似乎正在做更多的工作。 – 2012-02-11 12:26:05

相關問題