第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何快速統(tǒng)計出某段時間內(nèi)的記錄總數(shù)

如何快速統(tǒng)計出某段時間內(nèi)的記錄總數(shù)

陪伴而非守候 2019-04-06 08:31:35
我們經(jīng)常在項目中遇到的需求就是計算在一周內(nèi)的記錄總數(shù),而且這個數(shù)目是需要在列表頁出現(xiàn)的,所以用SELECTCOUNT顯然不合適。但是如果你用緩存來做的話,因為這個值是根據(jù)你的當前時間不斷在變的,比如用戶在下午14:10來訪問這個頁面,那么我們要計算的就是從7天前的14:10到現(xiàn)在這段時間內(nèi)的記錄總數(shù)。這是不可能緩存的,我不知道各位是怎么設計的。我有一個思路就是,還是用SELECTCOUNT來統(tǒng)計,但是把它緩存住,一個小時更新一次??雌饋斫鉀Q的還可以,不知道各位有什么更好的思路,比這個準確度更高的。
查看完整描述

2 回答

?
嗶嗶one

TA貢獻1854條經(jīng)驗 獲得超8個贊

你要不創(chuàng)建一個trigger和一張表用來記錄行數(shù),如果你的入數(shù)據(jù)庫的量不大的話。比如
ONINSERTUPDATEcounterSETtable_name_count=table_name_count+1;
然后前臺讀取的時候從那張表讀就是了。不過也要看你用的是什么SQL了,MySQL的MyISAM對這個問題是做了優(yōu)化的;就直接SELECTCOUNT就是了。
                            
查看完整回答
反對 回復 2019-04-06
?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

維護一個隊列,隊列的每個元素是記錄產(chǎn)生的時間:1.每當一個新紀錄產(chǎn)生時,入隊。更新隊列的元素總數(shù)。2.每當來一次查詢的時候,計算起始時間t,將所有小于t的記錄出隊。更新隊列的元素總數(shù)。返回隊列的元素總數(shù)。優(yōu)點:高效、精確。
缺點:占用一定的內(nèi)存,對于100萬個元素需要約4MB的內(nèi)存空間。p.s.這個算法可以很容易地用mysql表來實現(xiàn)。
                            
查看完整回答
反對 回復 2019-04-06
  • 2 回答
  • 0 關注
  • 349 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號