批量超做时,是分开操作,还是一次性插入呢??
mysql> set profiling=1; Query OK, 0 rows affected (0.06 sec) mysql> update b2b_sell set edittime= from_unixtime(now()),editdate= 'curdate()' where itemid in(8,9,10);update b2b_sell set edittime= from_unixtime(now()),editdate='curdate()' where itemid=148;update b2b_sell set edittime= from_unixtime(now()),editdate='curdate()' where itemid=149;update b2b_sell set edittime= from_unixtime(now()),editdate='curdate()' where itemid=147;show profiles;show processlist; Query OK, 3 rows affected, 6 warnings (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 6 Query OK, 1 row affected, 2 warnings (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 2 Query OK, 1 row affected, 2 warnings (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 2 Query OK, 1 row affected, 2 warnings (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 2 +----------+------------+--------------------------------------------------------------------------------------------------+ | Query_ID | Duration | Query | +----------+------------+--------------------------------------------------------------------------------------------------+ | 1 | 0.00080800 | update b2b_sell set edittime= from_unixtime(now()),editdate= 'curdate()' where itemid in(8,9,10) | | 2 | 0.00032200 | update b2b_sell set edittime= from_unixtime(now()),editdate='curdate()' where itemid=148 | | 3 | 0.00031900 | update b2b_sell set edittime= from_unixtime(now()),editdate='curdate()' where itemid=149 | | 4 | 0.00027900 | update b2b_sell set edittime= from_unixtime(now()),editdate='curdate()' where itemid=147 | +----------+------------+--------------------------------------------------------------------------------------------------+
如果从这看,貌似统一插入时占用的总时间稍少。各有个的好处....