SQL 資料庫-分表 介紹
分表時機:
根據我的經驗來看,當某張表的數據量已經達到千萬甚至上億,同時日增數據量在2% 以上。
當然這些數字並不是絕對的,最重要的還是對這張表的寫入和查詢都已經影響到正常業務執行,比如查詢速度明顯下降,數據庫整體IO 居高不下等。
分表方法:
▲按照範圍劃分
比如我們可以將某張表的創建時間按照日期劃分存為月表;也可以將某張表的主鍵按照範圍劃分,比如【1~10000】在一張表, 【10001~20000】在一張表,以此類推。
好處是自帶水平擴展,不需要過多干預。
缺點是可能會出現數據不均勻的情況(比如某個月請求暴增)
▲hash+mod(hashd)
▲Range + Hash