我需要在 SQL 中的某些情況下進行更新。它是對表中單個元素的更新。這些選項中的哪一個會消耗更多資源。
- 首先詢問是否需要通過選擇進行更新,然后進行更新或
- 執行查詢以便執行更新,盡管在某些情況下它會覆寫相同的值。
uj5u.com熱心網友回復:
您的選項 1 存在時間間隔。理論上可以選擇不發現任何問題 - 然后其他人進行更新 - 然后您進行更新,認為它是安全的..
選項 2 沒有這個問題。
uj5u.com熱心網友回復:
還有第三種選擇:有選擇地進行更新。
例如,假設您想將余額減少一個金額,但前提是余額大于金額。
您可以創建這樣的查詢:
UPDATE myTable SET balance = balance - :amount
WHERE accountID = :accountId AND balance >= :amount
然后檢查 ROW_COUNT() 以查看更新是否成功。(PHP和其他語言對此有特定的功能)
這有一個特殊的好處,它避免了 SELECT - UPDATE 方法中隱含的競爭條件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/358404.html
下一篇:地理編碼器對于搜索視圖來說太慢了
