当你运行类似于:
UPDATE table SET datetime = NOW();
在一个有100万条记录的表上,查询需要10秒才能运行,所有行的时间是完全相同的(分和秒),还是不同的时间?换句话说,时间是查询开始的时间还是每行更新的时间?
我在运行MySQL,但我认为这适用于所有dbs.
当你运行类似于:
UPDATE table SET datetime = NOW();
在一个有100万条记录的表上,查询需要10秒才能运行,所有行的时间是完全相同的(分和秒),还是不同的时间?换句话说,时间是查询开始的时间还是每行更新的时间?
我在运行MySQL,但我认为这适用于所有dbs.
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_now
"NOW()返回一个常数时间,指示语句开始执行的时间.(在存储的 routine 或触发器中,NOW()返回 routine 或触发语句开始执行的时间.)这与SYSDATE()的行为不同,返回自MySQL 5.0.13起执行的确切时间."