日期:2014-05-17  浏览次数:20567 次

php中用mysql的START TRANSACTION和commit包围了4条插入语句,发现用事务比不用的时候插入的快这是为什么呢?
php中用mysql的START TRANSACTION和commit包围了4条插入语句,发现用事务比不用的时候插入的快这是为什么呢?

------解决方案--------------------
这是相对的,而不是绝对的。通常说索引可以加快查询速度,但只有在数据量达到一定规模的情况下是这样的。个人认为简单操作,使用事务的效果不是非常明显。只有在 批量 操作时效果才是明显的。比如一次添加100条记录,使用事务效果会比较明显。可以这样理解:到银行存钱,10个存折,到一个柜台办理,显然是优于分别到10个柜台办理。省去了排队等候过程。可省去了调取你账户信息的过程。
你想一下好了,一件事请10个步骤,如果使用事务,必须监测每一个步骤的执行,任何一步失败都必须rollback。不使用事务就是不用保证10个步骤全部完成,我执行第一个步骤之后,第二部失败就完事了,因为无关紧要。以淘宝为例,你浏览商品的时候根本不用事务,但是当你付钱的时候就用事务了。事务是保证一件事情要么全部完成,要么什么都不做。