最佳化方案:
主從同步+讀寫分離:
這個表在有裝置條件的情況下,讀寫分離,這樣能減少很多壓力,而且資料穩定性也能提高
縱向分表:
根據原則,每個表最多不要超過5個索引,縱向拆分欄位,將部分欄位拆到一個新表
通常我們按以下原則進行垂直拆分:(先區分這個表中的冷熱資料欄位)
把不常用的欄位單獨放在一張表;
把text,blob等大欄位拆分出來放在附表中;
經常組合查詢的列放在一張表中;
缺點是:很多邏輯需要重寫,帶來很大的工作量。
利用表分割槽:
這個是推薦的一個解決方案,不會帶來重寫邏輯等,可以根據時間來進行表分割槽,相當於在同一個磁碟上,表的資料存在不同的資料夾內,能夠極大的提高查詢速度。
橫向分表:
1000W條資料不少的,會帶來一些運維壓力,備份的時候,單表備份所需時間會很長,所以可以根據伺服器硬體條件進行水平分表,每個表有多少資料為準。
最佳化方案:
主從同步+讀寫分離:
這個表在有裝置條件的情況下,讀寫分離,這樣能減少很多壓力,而且資料穩定性也能提高
縱向分表:
根據原則,每個表最多不要超過5個索引,縱向拆分欄位,將部分欄位拆到一個新表
通常我們按以下原則進行垂直拆分:(先區分這個表中的冷熱資料欄位)
把不常用的欄位單獨放在一張表;
把text,blob等大欄位拆分出來放在附表中;
經常組合查詢的列放在一張表中;
缺點是:很多邏輯需要重寫,帶來很大的工作量。
利用表分割槽:
這個是推薦的一個解決方案,不會帶來重寫邏輯等,可以根據時間來進行表分割槽,相當於在同一個磁碟上,表的資料存在不同的資料夾內,能夠極大的提高查詢速度。
橫向分表:
1000W條資料不少的,會帶來一些運維壓力,備份的時候,單表備份所需時間會很長,所以可以根據伺服器硬體條件進行水平分表,每個表有多少資料為準。