我有一個頁面,顯示餐廳配置文件數據,並顯示一個數據是用戶的總簽入數到餐廳存儲餐廳checkin count數據的最佳方法是什麼?
我有一個MySQL表所示:user_checkins
存儲用戶的簽入的餐館,如:
id | user_id | res_id | checkin_date |
1 | 102 | 5526 | 2016-04-21 03:20:21 |
2 | 165 | 5574 | 2016-04-21 06:35:21 |
3 | 102 | 4565 | 2016-04-24 02:15:30 |
和另一個表res_checkin_count
:
id | res_id | total_checkin_count |
1 | 5526 | 1055 |
一會兒許多行會在user_checkins
被創建後,因爲人們經常籤
問:我是否應該刪除舊行?像創建覆蓋面餐廳定期刪除(如每天)舊行一個cronjob和更新另一個MySQL表餐廳total_checkin_count
數只存儲每個餐廳的total_checkin_count
?這會消耗大量的內存嗎?
或
我守行,讓它積累和使用SELECT COUNT(*)
都得到每家餐廳total_checkin_count
?
編輯:user_checkins
表實際存儲所有用戶籤各種餐館,每次有人訪問一個「restaurant_profile」網頁時,SELECT COUNT(*)
查詢將在user_checkins
表res_id
X上運行,讓那家餐廳的total checkin count
,是多餘?
爲什麼不只是每個位置和最後簽入列總運行在一個單一的表?你真的需要確切地知道他們什麼時候辦理入住手續嗎?如果是這樣,你可以歸檔嗎?當有人訪問一個restaurant_profile網頁 – tadman
每次,我將運行在user_checkins表的SELECT COUNT(*)(它存儲所有的餐館簽入),就意味着每次有人訪問restaurant_profile網頁時,SELECT COUNT(*)將在運行表,這是多餘的? – yeh