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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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

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

呼啦一陣風(fēng) 2019-04-23 15:18:17
我們經(jīng)常在項(xiàng)目中遇到的需求就是計(jì)算在一周內(nèi)的記錄總數(shù),而且這個(gè)數(shù)目是需要在列表頁出現(xiàn)的,所以用SELECTCOUNT顯然不合適。但是如果你用緩存來做的話,因?yàn)檫@個(gè)值是根據(jù)你的當(dāng)前時(shí)間不斷在變的,比如用戶在下午14:10來訪問這個(gè)頁面,那么我們要計(jì)算的就是從7天前的14:10到現(xiàn)在這段時(shí)間內(nèi)的記錄總數(shù)。這是不可能緩存的,我不知道各位是怎么設(shè)計(jì)的。我有一個(gè)思路就是,還是用SELECTCOUNT來統(tǒng)計(jì),但是把它緩存住,一個(gè)小時(shí)更新一次。看起來解決的還可以,不知道各位有什么更好的思路,比這個(gè)準(zhǔn)確度更高的。
查看完整描述

2 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

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

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)