文章詳情頁
MySQL 分表有什么壞處和改進意見?
瀏覽:74日期:2022-06-15 09:53:37
問題描述
如果一張表數據很大,將分表拆分數據,或者預估數據量很大,會預先生成很多分表,那么,日后要改字段,豈不是每張表都是執行同樣的 sql 改字段?
MySQL 還有分區的概念,就是解決一張表數據量過大的,為什么現實開發中還是普遍使用分表的方式?
問題解答
回答1:我認為不管是數據庫還是編程的各種模式,并不是說0耦合就是最好的。適當的冗余可以提高性能,和可讀、維護性。
回答2:個人愚見,分區是你指定規則進行分表,比較死板。分表可以在業務邏輯層上進行靈活的熱點數據分表。
回答3:一個表的容量還是有限的,數據越多插入性能就會受影響,每次插入都要去尋找對應分區,還有索引,都會大大降低插入速度。
至于分表的壞處,當然就是你說的如果需要修改字段,那就要每張表都去執行,但這種可能性小,況且之前的數據都已成為歷史數據了,而如果你把數據都放一張表里,改表結構不就把表鎖住了?從這個方面來看,分表還可以做到讀寫分離。另一個壞處就是查詢需要union分表,需要用while去拼接sql,這是有點繁瑣的,恰恰分區不用拼接。。。
因此實際中,分表和分區常常是結合的,各自互補。
相關文章:
排行榜
