[英]Which way is more efficient to store stats on mysql?
我為網站訪問者提供了一個統計數據庫,我需要找到哪種是存儲數據的最有效方法:
我遇到了2個選擇。
選項編號1:
+-----------------------------+
+ date | country +
+-----------------------------+
+ 2014-03-20 | US +
+ 2014-03-20 | US +
+ 2014-03-20 | NL +
+ 2014-03-21 | US +
+-----------------------------+
然后Select count(*) from table
獲取訪問者數據
選項編號2:
+-----------------------------+
+ date | country | visits+
+-----------------------------+
+ 2014-03-20 | US | 2 +
+ 2014-03-20 | NL | 1 +
+ 2014-03-21 | US | 1 +
+-----------------------------+
然后使用Select sum(visits) from table
獲取訪問者數據
您認為哪個是最佳選擇? 還是有更好的選擇? 請注意這一點,以防流量很大。
提前非常感謝您。
顯然,更有效的方法是將第二個選項與count一起使用。 多行匯總為單行,僅以4字節整數為代價。 通常,具有多行相同的表效率不高。
因此,出於查詢目的,第二選擇會更好。
在創建和維護表方面,首選是更有效的。 與更新現有行相比,插入新記錄的開銷較小。 這可能沒什么大不了的,但是在某些情況下這會有所作為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.