目标表T1有100列,目前有大约1.8万条记录。Integer类型的字段W1和W2是联合唯一性索引。
现在向这张表中以字段W1和W2为WHERE条件,更新4个字段C1、C2、C3、C4,即:
SQL:update T1 set C1=1, C2=2, C3=3, C4=4 WHERE W1=5 and W2=6;
执行类似语句2000条。将2000条语句写入文件test1.sql中。
在命令行中执行:mysql.exe -uuser -ppass dbname < test1.sql
不使用事务,执行时间约78秒。
使用事务,执行时间小于1秒。
在Navicat中,
不使用事务,执行时间约142秒。
使用事务,执行时间约34秒。
我认为多出来的时间应该是回显花费的时间。