2013-06-20 16 views
0

更新存儲在某個數據庫中的項目列表的最佳模式(就平均性能而言)是什麼?用於更新數據庫中項目列表的最佳模式

例如,某些用戶使用由N行組成的表。他可以刪除所有行,然後添加完全不同數據的M行,或者他可以只更新一行中一個字段的一個字符。

現在我們刪除所有現有的行,其中DELETE查詢,然後INSERT新行,而不考慮有多少數據發生了變化。

這種情況下是否存在更有效的模式?

UPDATE:

我們還考慮2的替代辦法:

1)在更新的事務做SELECT,分析其行更新/刪除/添加,並適用於DB適當修改的beggining 。

2)使用戶界面交互併發送帶有更改數據的AJAX請求,以便爲每個用戶執行操作 - 然後將相應的行標記爲已更改。

+1

truncate + bulk insert?什麼是N行? –

+0

@ L-Three在我們的案例中,N並不是那麼多 - 關於行的羣集 - 但現在對於一般情況的回答很有意思。 – zavg

回答

1

批處理插入,更新和刪除將是最好的。在每次插入數據庫的情況下,更新和刪除您可以執行批處理操作。因此在性能的情況下,每次插入和更新的往返行程將最小化。由於您可以在批量中插入數據,因此數據庫命中將被最小化。

相關問題