2017-10-10 16 views
0

我使用mysql触发器更新列中的一个,y数据库表称为comments_count,但我想知道什么是最好的和更快?mysql触发器使用vs选择查询

使用MySQL的触发器或像下面这样选择查询:

select count(*) from comments where discussion_id=something 
+1

单独存储计数意味着计数可能与实际的评论数不同步。你准备好如何处理这个问题? - 只要有可能,您应该根据需要派生可导出的数据,而不是将其存储在某处(必要时指“SELECT COUNT”)。有没有特别的担心,你为什么不想这样做? – deceze

回答

2

不同类型的开销:

与触发,你将有插入过程中额外的时间,并且可能不同步随时间一些不为人知的理由。

与查询,你总是会得到正确的答案,但你需要在运行时计算。通常情况下,这应该是非常快的,特别是在讨论中的索引讨论_id

+0

你的意思是我应该使用查询吗? –

+1

好吧,列出了所有的权衡 - 但是 - 对我来说,我会使用查询。 – Randy

+0

好的谢谢;)我会用查询 –