背景
本人從事工作為遊戲公司。公司體量中等,每天註冊人數峰值十幾萬。資料後台主要還是使用mysql作為資料庫。資料後台有個表且稱「日表」,主要是記錄每個廣告位的效果。
原統計方式
該日表有幾個字段,記錄這公司投放以來所有廣告為的累計成本、付費、付費人數等等。為了方便前段展示,這個表每天都統計所有廣告位的累計資料(儘管很多廣告位已經沒有資料了)。這樣一來每天(20年上)就會有近二十萬條記錄。光20年上半年總記錄就有三千萬!
新統計方式
把日表的這幾個字段單獨抽出來做乙個表統計,目前在二十幾萬記錄。然後重新統計日表後,新日表總條數在一千萬多點。
查詢對比
優化後查詢乙個月資料對比,同乙個sql在兩個表都沒有熱資料的情況下表現。
圖中所示的條數請忽略,那是一些業務邏輯造成的。
舊表:
新錶:
總結當查詢慢了,除了優化索引、語句等等方式外。我們可以嘗試「減少資料」:拆表、聚合等等,嘗試水平、垂直拆表等等呀。總的來說:最好的優化就是減少資料量!
優化大資料量的KML資料集
在google earth 的幫助檔案中,有對優化大資料集處理的簡單說明 在該幫助裡,對大型資料檔案做了圖塊化向量資料 regionating vector data 僅限專業版 的處理。建議用於大型資料檔案 向量資料圖塊化可限制較高海拔位置顯示的定點數量,自動提公升資料的質量。當放大畫面時,將會看...
SQL 大資料量的優化例子討論
今天在itput上看了一篇文章,是討論乙個語句的優化 優化的語句 請問以下語句如何優化 create table aa 001 ip varchar2 28 name varchar2 10 password varchar2 30 select from aa 001 where ip in 1 ...
深入剖析減少每次同步資料量的6個方法
說到同步資料,大最為較關心的就是如何盡可能地減少每次的同步資料量,以此來提高同步效率,降低對網路頻寬的消耗。針對大批量的資料同步,這一點是必須注意的。解決這個問題的關鍵點在於獲取差異資料,這也就是說,我們僅僅同步變化了的資料,至於沒有變化的,就不再同步。下文中,我們將介紹減少每次同步資料量的6個方法...