Sql 在主表中存储计数
我有三个数据库表Sql 在主表中存储计数,sql,performance,count,Sql,Performance,Count,我有三个数据库表 用户(用户ID,…) 条目(EntryID,…) 喜欢(UserID,EntryID,…) 我的问题很简单。我应该在表Entries中使用LikeCount列,还是每次从Likes表中需要时都使用SELECT COUNT(*)语句?哪一种做法更好 这个问题可能是重复的:这个问题的给定答案基本上是不使用LikeCount,而是每次需要时都计数。但是,他们没有对以下问题给出令人满意的答案: 将计数存储在表中的不良后果是什么 如果我需要在应用程序中经常计算喜欢的次数,那么这两种不同方
用户
(用户ID,…)条目
(EntryID,…)喜欢
(UserID,EntryID,…)Entries
中使用LikeCount
列,还是每次从Likes
表中需要时都使用SELECT COUNT(*)
语句?哪一种做法更好
这个问题可能是重复的:这个问题的给定答案基本上是不使用LikeCount
,而是每次需要时都计数。但是,他们没有对以下问题给出令人满意的答案:
PS:如果SQL Server 2008很重要,我会使用它。将计数存储在表中的不良后果是什么: 这种方法有两个问题:
SELECT count(*) from Likes where EntryID=45;
SELECT count(*) from Likes where EntryID=45 and deleted=False;
然后索引必须位于EntryID上
但是,如果要编写如下查询:
SELECT count(*) from Likes where EntryID=45;
SELECT count(*) from Likes where EntryID=45 and deleted=False;
然后必须打开索引(EntryID,deleted)