[SQL ] update指令的效率問題

看板Database作者 (哈啾!)時間14年前 (2011/09/02 03:46), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
我是用php + mysql 第一種寫法: 一次寫全部 -------------------------------------------------------------- update 資料表名稱 set 欄位1 = '值', 欄位2 = '值'.... where 條件; -------------------------------------------------------------- 第二種寫法: 用迴圈,一次只更新一個欄位 --------------------------------------------------- $field = array("`欄位1`","`欄位2`",......); foreach ($field as $key => $value) { update 資料表名稱 set $value = '值' where 條件; } ---------------------------------------------------- 我的問題是資料庫的IO次數 第二種迴圈的寫法是不是比第一種的寫法來的多? 理論上是不是比較慢?會增加資料庫存取時間呢? 如果是,實際上運用在小型的資料庫是不是可以忽略這個差異? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.36.126 ※ 編輯: howka 來自: 118.171.36.126 (09/02 03:49)

09/02 07:24, , 1F
第1種只要訪問一次db,第二種n次當然慢的多
09/02 07:24, 1F

09/02 21:24, , 2F
一定會比較慢的吧 而且很少看到第二種寫法
09/02 21:24, 2F
文章代碼(AID): #1EN-4VNQ (Database)