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


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

數據量:800W

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

SQL:   

處理慢原因:這個需要從rownum說起,因為rownum是一個偽列,對於返回數據的結果都是從1開始的,即我想查第100到200條記錄,rownum標記會移動到200,數據量越大移動的就越多,這是導致查詢慢的原因

優化方法:

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

 

由mysql到sqlite分段SQL:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM