文章詳情頁
MySQL 分表有什么壞處和改進意見?
瀏覽:115日期:2022-06-15 09:53:37
問題描述
如果一張表數據很大,將分表拆分數據,或者預估數據量很大,會預先生成很多分表,那么,日后要改字段,豈不是每張表都是執行同樣的 sql 改字段?
MySQL 還有分區的概念,就是解決一張表數據量過大的,為什么現實開發中還是普遍使用分表的方式?
問題解答
回答1:我認為不管是數據庫還是編程的各種模式,并不是說0耦合就是最好的。適當的冗余可以提高性能,和可讀、維護性。
回答2:個人愚見,分區是你指定規則進行分表,比較死板。分表可以在業務邏輯層上進行靈活的熱點數據分表。
回答3:一個表的容量還是有限的,數據越多插入性能就會受影響,每次插入都要去尋找對應分區,還有索引,都會大大降低插入速度。
至于分表的壞處,當然就是你說的如果需要修改字段,那就要每張表都去執行,但這種可能性小,況且之前的數據都已成為歷史數據了,而如果你把數據都放一張表里,改表結構不就把表鎖住了?從這個方面來看,分表還可以做到讀寫分離。另一個壞處就是查詢需要union分表,需要用while去拼接sql,這是有點繁瑣的,恰恰分區不用拼接。。。
因此實際中,分表和分區常常是結合的,各自互補。
相關文章:
1. docker網絡端口映射,沒有方便點的操作方法么?2. java - spring boot 如何打包成asp.net core 那種獨立應用?3. javascript - 關于apply()與call()的問題4. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?5. java - 在用戶不登錄的情況下,用戶如何添加保存到購物車?6. datetime - Python如何獲取當前時間7. javascript - nginx反向代理靜態資源403錯誤?8. docker start -a dockername 老是卡住,什么情況?9. 安全性測試 - nodejs中如何防mySQL注入10. python - 調用api輸出頁面,會有標簽出現,請問如何清掉?
排行榜
