第一次載入,46秒耗時,什麼問題,分頁只是載入20條資料,為什麼要這麼久。定點:
public long count(string where, object param)
q.list.size()方法這是啥玩意,居然全部載入,架構起點是我從網上抄過來的一些基本框架。
public long count(string where, object param)
改動**如上,查詢耗時1082ms。繼續重新整理頁面,差不多都是1000ms左右。
這時候將上面的query q開啟查詢快取呢,q.setcacheable(true);第一次依然是1000ms左右,然後資料快取了,第二次只用了299ms。
測試發現count查詢時總是列印兩條sql,好吧,上面的q.uniquresult()執行了兩次。
我把q.setcacheable(true);也去除了,因為我加在了底層實現方法,所有的類進行count都會快取這個sql語句,對於一些經常更改的表無益而有害,而且載入資料也在1s左右,即使我分頁一次載入200條資料,這執行效率也可以接受的,而且訪問的是公網linux上的資料庫,1m頻寬的。
好像只要分頁查詢,百萬級別的資料量也沒什麼影響啊,可能這只是我單個執行緒執行吧,測試不出什麼東西,等上線多使用者吧。待續。。。。。。。。。。。
mysql在百萬資料量下查詢慢的問題
這兩天,越來越覺得自己做的玩家歷史表,查詢速度很慢,開始還以為是網路的問題,然後持續了一兩天很快pass了這個想法。很可能是自己的查詢速度慢,於是進入資料庫看了一下,發現歷史記錄已經達到了600多萬條了。隨著dau的上公升,玩家越來越多,乃至於歷史記錄也成倍的增長,雖然自己做了定時刪除七天以前的記錄...
大資料從百萬級別資料的分析角度,資料庫如何選擇?
現在需要做乙個資料儲存,500w左右的資料,日後每天大約產生5w條左右的資料。想把這些資料儲存起來,供日後的資料分析用?使用上面說的三種資料庫中的哪中比較好?是否有必要建立集群?個人看法是 從長遠角度看,由於單台機器的效能瓶頸,後期肯定要做集群,單純的做複製最終也無法緩解單台master上讀的負擔。...
百萬級資料量比對工作的一些整理
最近的一項工作內容是比對資料,在這裡把主要的一些思考過程和思路整理一下。工作的目標是比對源資料和目標資料,逐字段逐條記錄比較,找出不同的字段以及缺少的記錄。由於資料量比較龐大,大約有七百多萬條,源資料和目標資料分別是以文字方式來儲存,因為資料量大,所以源資料和目標資料都會被拆分成多個檔案,比如源資料...