千萬級數據庫

背景:

     系統交易量與日俱增。目前負責系統,數據庫單表存放的數據量越來越大,目前已是百萬級。查詢速度變慢,所以在思考,與同事交流,網上找相應問題需要注意的風險,以及後續解決方案。

 

  • 千萬級數據庫查詢需要注意什麼
  1. 建立索引(where,order by)
  2. 避免在where字句中,進行null值判斷,導致引擎放棄使用索引,進行全表掃描
  3. 索引提高了查詢效率,但是降低了insert和update效率,所以不是越多越好
  4. 數字,不要涉及爲字符型,會降低查詢連接性能。比較字符串,需要比較每一個,數字只需要比較一次
  5. 頻繁和刪除臨時表,會增加系統表資源的消耗
  6. 如果使用了臨時表,最後先顯示存儲,先truncate table 再 drop table
  7. != 和<>,or,以及在where 後面使用表達式,使用參數,都會導致全表掃描

原文鏈接: https://www.cnblogs.com/peke/p/8036172.html

  • 千萬級數據解決方案
  1. 將歷史數據進行遷移。如果系統運行穩定,在固定時間內做歷史數據遷移,我認爲是一個挺有效的解決方案

     2.分表方案:

    1)一是根據自增主鍵進行哈希取模,將數據均分到n張表中;該方案最簡單,且最合適,拆分後數據分佈均勻。

    2)二是無自增主鍵,選取的分表id由特定的方式生成,則需先確定分表id生成邏輯,根據該邏輯確定取模計算的邏輯,以保證數據均分。
原文鏈接:https://blog.csdn.net/Daybreak1209/article/details/79858080

             https://blog.csdn.net/happyduoduo1/article/details/51830361/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章