什麼是更新「訂單」列的最佳方式?更新「訂單」列MySQL?
說我有一個0至9的id列,並順序欄從0到9
目前,它的在數據庫中作爲: 0 0,1 1,2 2等
我的HTML頁面發佈了它想要的新訂單:0 8,1 3,2 6等(這完全是隨機的,由用戶決定)。
什麼是進行更新的最佳方式?
我可以遍歷併爲每個更新運行。 我也可以創建一個包含所有對的臨時表,然後根據子查詢進行更新。
但是我覺得我忘記了一些微不足道的事情,它會做得更快。有什麼建議麼?
什麼是更新「訂單」列的最佳方式?更新「訂單」列MySQL?
說我有一個0至9的id列,並順序欄從0到9
目前,它的在數據庫中作爲: 0 0,1 1,2 2等
我的HTML頁面發佈了它想要的新訂單:0 8,1 3,2 6等(這完全是隨機的,由用戶決定)。
什麼是進行更新的最佳方式?
我可以遍歷併爲每個更新運行。 我也可以創建一個包含所有對的臨時表,然後根據子查詢進行更新。
但是我覺得我忘記了一些微不足道的事情,它會做得更快。有什麼建議麼?
你必須自己更新每一行,沒有辦法在SQL中做「地圖」更新。
(有一些技巧,但他們並不真正適用/反正在這裏幫助。)
謝謝,看起來很奇怪,沒有一個更清潔的解決方案,但沒有什麼大不了的。 – Colin 2010-01-21 21:44:14
我知道你的意思,但這是關係數據庫的工作方式。有一些技巧可以在某些系統上使用,即將「映射」轉換傳遞到表中,然後在更新中加入該表。在這種情況下完全不值得。 – Hogan 2010-01-21 21:54:27