文章詳情頁
MySQL 分表有什么壞處和改進意見?
瀏覽:135日期:2022-06-15 09:53:37
問題描述
如果一張表數據很大,將分表拆分數據,或者預估數據量很大,會預先生成很多分表,那么,日后要改字段,豈不是每張表都是執行同樣的 sql 改字段?
MySQL 還有分區的概念,就是解決一張表數據量過大的,為什么現實開發中還是普遍使用分表的方式?
問題解答
回答1:我認為不管是數據庫還是編程的各種模式,并不是說0耦合就是最好的。適當的冗余可以提高性能,和可讀、維護性。
回答2:個人愚見,分區是你指定規則進行分表,比較死板。分表可以在業務邏輯層上進行靈活的熱點數據分表。
回答3:一個表的容量還是有限的,數據越多插入性能就會受影響,每次插入都要去尋找對應分區,還有索引,都會大大降低插入速度。
至于分表的壞處,當然就是你說的如果需要修改字段,那就要每張表都去執行,但這種可能性小,況且之前的數據都已成為歷史數據了,而如果你把數據都放一張表里,改表結構不就把表鎖住了?從這個方面來看,分表還可以做到讀寫分離。另一個壞處就是查詢需要union分表,需要用while去拼接sql,這是有點繁瑣的,恰恰分區不用拼接。。。
因此實際中,分表和分區常常是結合的,各自互補。
相關文章:
1. javascript - easyui textbox綁定onchange事件不能獲取最新的文本框的值2. android - 安卓如何讓View往屏幕外隱藏?3. java - 圖片上傳后,立即訪問出現404,重新部署項目后正常可以訪問4. css - chrome瀏覽器input記錄上次cookie信息后,有個黃色背景~如何去除!5. javascript - Jquery click()事件的禁用6. html - css 文件內,有的樣式沒調用, 有沒有工具刪除這部分沒調用的內容?7. javascript - node引入文件路徑中的@是什么意思?8. PHP類中的$this9. javascript - 請教如何獲取百度貼吧新增的兩個加密參數10. 單元格本來是寫文字的地方插入背景圖片,這種方式正確嗎?
排行榜
