大數據分頁查詢速度慢處理

需求:定時將oracle視圖中數據同步到mysql,再將數據生成sqlite.db進行下發mysql

數據量:800Wsql

常規處理方式:使用分頁查詢oracle中表數據oracle

SQL:   優化

處理慢緣由:這個須要從rownum提及,由於rownum是一個僞列,對於返回數據的結果都是從1開始的,即我想查第100到200條記錄,rownum標記會移動到200,數據量越大移動的就越多,這是致使查詢慢的緣由sqlite

優化方法:blog

解釋:利用rownum有序自增的編號,將數據按10000條1段分紅若干段,取到該段內的最大ID與最小ID進行查詢,其中ID列爲索引列。這樣只有在分段查詢時會消耗一點時間,以後再按照區間ID循環同步數據,時間消耗都是必定的,不會出現越查越慢的問題。索引

 

由mysql到sqlite分段SQL:同步

相關文章
相關標籤/搜索