文章詳情頁
MySQL 分表有什么壞處和改進意見?
瀏覽:169日期:2022-06-15 09:53:37
問題描述
如果一張表數據很大,將分表拆分數據,或者預估數據量很大,會預先生成很多分表,那么,日后要改字段,豈不是每張表都是執行同樣的 sql 改字段?
MySQL 還有分區的概念,就是解決一張表數據量過大的,為什么現實開發中還是普遍使用分表的方式?
問題解答
回答1:我認為不管是數據庫還是編程的各種模式,并不是說0耦合就是最好的。適當的冗余可以提高性能,和可讀、維護性。
回答2:個人愚見,分區是你指定規則進行分表,比較死板。分表可以在業務邏輯層上進行靈活的熱點數據分表。
回答3:一個表的容量還是有限的,數據越多插入性能就會受影響,每次插入都要去尋找對應分區,還有索引,都會大大降低插入速度。
至于分表的壞處,當然就是你說的如果需要修改字段,那就要每張表都去執行,但這種可能性小,況且之前的數據都已成為歷史數據了,而如果你把數據都放一張表里,改表結構不就把表鎖住了?從這個方面來看,分表還可以做到讀寫分離。另一個壞處就是查詢需要union分表,需要用while去拼接sql,這是有點繁瑣的,恰恰分區不用拼接。。。
因此實際中,分表和分區常常是結合的,各自互補。
相關文章:
1. 運行python程序時出現“應用程序發生異常”的內存錯誤?2. 小白學python的問題 關于%d和%s的區別3. macos - 無法source activate python274. javascript - npm run build后調用api返回index.html5. android - 如何實現QQ pad 點擊右側輸入框,只頂右側的布局,左側布局不動6. css3 - css怎么做出這樣的效果?7. html5 - 前端面試碰到了一個緩存數據的問題,來論壇上請教一下8. github - 求助大神啊,win10 git clone error,折騰了幾天都不行,以前原本好好的,突然就這樣了9. html - vue里面:src在IE(9-11)下不顯示圖片10. css - 關于background-position百分比的問題?
排行榜

網公網安備