关于has_many中:counter_cache的一些看法

在一对多的关系中,我对一个人,同时增加了三本书

如person.book.create(book1,book2,book3)

时,我发现日志里面

SELECT * FROM person WHERE (person.`id` = 2) 
  UPDATE products SET `book_count` = `book_count` + 1 WHERE (`id` = 2)

这样重复三次, 那如果是同时增加六本的,往上累加的话那不是很开销非常大,

如果我们把他分开来处理的话我们只要只行一次就可以了

我们计算出增加的书数量,在保存完之后再更新一下就可以了,也就是可以省下四条sql的执行

,我在想是不是这种保存方法有问题,还是有什么其他方法可以来代替

你可能感兴趣的:(sql,Ajax,cache,电子商务,Rails)