MySQL分庫分表面試知識總結

2021-08-18 10:17:39 字數 828 閱讀 6109

場景分析

基礎概念

分庫、分表實現策略

分庫

按地區分

橫向/水平分表:解決 表記錄太大問題

按某個欄位分

按日期分表

通過mysql的merge儲存引擎實現

create

table log_merge (

dt datetime not

null,

info varchar (100) not

null,

index (dt)

) engine = merge

union= (log_2017,log_2018) insert_method = last;

縱向/垂直分表 :解決 列過多問題

具體策略

分庫、分表注意事項

避免分表join操作。關聯的表有可能不在同一資料庫中。

避免跨庫事務

分表宜多不宜少;避免後期可能二次拆分。

盡量同組資料統一db伺服器。例如將賣家a的商品和交易資訊都放到db0中,當db1掛了的時候,賣家a相關的東西可以正常使用。即避免多個資料庫中的資料產生依賴。

references

mysql oracle 動態擴容分庫分表 面試題

如何設計可以動態擴容縮容的分庫分表方案?對於分庫分表來說,主要是面對以下問題 這個是你必須面對的乙個事兒,就是你已經弄好分庫分表方案了,然後一堆庫和表都建好了,基於分庫分表中介軟體的 開發啥的都好了,測試都 ok 了,資料能均勻分布到各個庫和各個表裡去,而且接著你還通過雙寫的方案咔嚓一下上了系統,已...

mysql知識擴充套件之分庫分表

mysql知識擴充套件之分庫分表 mysql網際網路oracle企業應用資料結構 資料庫的複製能解決訪問問題,並不能解決大規模的併發寫入問題,要解決這個問題就要考慮mysql資料切分了 www.2cto.com 資料切分,顧名思義,就是資料分散,將一台主機上的資料分攤到多台,減輕單台主機的負載壓力,...

mysql分表分庫實現 MySql分表分庫思路

一.資料庫瓶頸 1.1io瓶頸 第一種 磁碟讀io瓶頸,熱點資料太多,資料庫快取放不下,每次查詢時會產生大量的io 分庫和垂直分表 第二種 網路io瓶頸,請求的資料太多,網路頻寬不夠 分庫 1.2cpu瓶頸 第一種 sql問題,如sql中包含join,group by,order by,非索引字段條...