存储数据VS查询?

时间:2014-05-26 05:18:30

标签: sql sql-server database database-design

我的应用程序想要提供有关有多少人通过社交网络共享应用程序的任何信息。我的问题是,哪种方法更好(在速度,效率,安全性和可维护性方面)?

方法1: 在一个表中提供一个字段(例如,apps_shared),其中包含共享此应用程序的人数,每次用户共享应用程序时,我只更新字段中的现有值。

方法2: 当人们共享应用程序时,保存一条记录(包含发生共享的时间和其他数据),并在需要共享应用程序的人数时对其进行计数。

感谢您的帮助,我对此表示赞赏。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

方法1当然更快,因为您只需更新一个值并可以查询一个值,而不是获取行数以查找共享数。

但是对于可伸缩性和可用性,您可能更喜欢第二种方法,以便您可以在每个共享中存储额外的数据,并将其用于应用程序中的其他目的。

更有可能你应该有一个包含每个共享数据的表和另一个表中的运行计数,结合两个选项中的最佳选择。