Mysql 更好的实践:是否将计数结果保存到字段中?
我正在开发一个音乐流媒体网站,我有两个主要的表格:“活动”和“音乐”。除其他外,活动将每首歌曲的复制保存到一张新唱片中 每次我从音乐中选择时,我都需要获取每首歌曲的复制数量。那么,更好的做法是什么呢Mysql 更好的实践:是否将计数结果保存到字段中?,mysql,count,Mysql,Count,我正在开发一个音乐流媒体网站,我有两个主要的表格:“活动”和“音乐”。除其他外,活动将每首歌曲的复制保存到一张新唱片中 每次我从音乐中选择时,我都需要获取每首歌曲的复制数量。那么,更好的做法是什么呢 SELECT music.song, music.artist, COUNT (activity.id) AS reproductions FROM music LEFT JOIN activity USING (song_id) WHERE music.song_id = XX GRO
SELECT music.song, music.artist, COUNT (activity.id) AS reproductions
FROM music LEFT JOIN activity USING (song_id) WHERE music.song_id = XX
GROUP BY music.song_id
或者最好将复制次数保存到音乐表中的新字段中,并查询以下内容:
SELECT song, artist, reproductions FROM music WHERE music.song_id = XX
当然,最后一个查询要简单得多。但要使用它,每次播放声音文件时,我都要进行两次查询:一次是在活动表中插入,另一次是在音乐表的复制字段中更新
在这种情况下,最好的做法是什么?这取决于这两个查询的响应时间 在表变得巨大(假设)之后,SQLNR2会更好
您必须考虑到,即使是insert也可能会很昂贵……您可能会考虑一些数据仓库,如果您有..数百万行的数据库。创建一个触发器,它会自动递增计数器。哦,我以前从未使用过触发器。我会读到的。谢谢