送分题
看了这么个帖子
http://tech.it168.com/a2010/0428/879/000000879859.shtml
里面说
1、用case代替update
要更新一条记录,我们立即会想到update,这个问题非常常见,许多开发人员经常忽视这个原则,因为使用update看起来非常自然,非常合乎逻辑。
假设你从Customer表中提取记录,你想将超过10万美元的订单标记为“Preferred”,因此你会想到使用一条update语句将CustomerRank列更新为“Preferred”,问题是update语句是有日志的,这就意味着每条记录它会写两次,解决这个问题的办法就是在SQL查询中内嵌case语句,在向表写入“Preferred”标志前,它会用订单金额条件对每一行进行检查,满足条件的才会更新,性能的提升是惊人的。
就这一段,不是很明白,求高人指点~~~
------解决方案--------------------
------解决方案--------------------
意思是你的update要加where子句,不能更新整个表。
“在向表写入“Preferred”标志前,它会用订单金额条件对每一行进行检查,满足条件的才会更新,性能的提升是惊人的。”
估计这篇文章是从国外翻译的。
------解决方案--------------------