作者howka (哈啾!)
看板Database
标题[SQL ] update指令的效率问题
时间Fri Sep 2 03:46:35 2011
我是用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)
1F:→ fantasyj:第1种只要访问一次db,第二种n次当然慢的多 09/02 07:24
2F:推 carlcarl:一定会比较慢的吧 而且很少看到第二种写法 09/02 21:24