首頁  >  問答  >  主體

MySQL 分表有什么坏处和改进意见?

如果一张表数据很大,将分表拆分数据,或者预估数据量很大,会预先生成很多分表,那么,日后要改字段,岂不是每张表都是执行同样的 sql 改字段?

MySQL 还有分区的概念,就是解决一张表数据量过大的,为什么现实开发中还是普遍使用分表的方式?

伊谢尔伦伊谢尔伦2741 天前603

全部回覆(3)我來回復

  • PHP中文网

    PHP中文网2017-04-17 16:28:13

    我認為不管是資料庫還是程式設計的各種模式,並不是說0耦合就是最好的。適當的冗餘可以提高效能,和可讀、維護性。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 16:28:13

    個人愚見,分區是你指定規則進行分錶,比較死板。分錶可以在業務邏輯層上進行靈活的熱點資料分錶。

    回覆
    0
  • 黄舟

    黄舟2017-04-17 16:28:13

    一個表格的容量還是有限的,資料越多插入效能就會受影響,每次插入都要去尋找對應分區,還有索引,都會大大降低插入速度

    至於分錶的壞處,當然就是你說的如果需要修改字段,那就要每張表都去執行,但這種可能性小,況且之前的數據都已成為歷史數據了,而如果你把資料都放一張表裡,改錶結構不就把錶鎖住了?從這個方面來看,分錶還可以做到讀寫分離。另一個壞處就是查詢需要union分錶,需要用while去拼接sql,這是有點繁瑣的,恰恰分區不用拼接。 。 。

    因此實際中,分錶和分區常常是結合的,各自互補。

    回覆
    0
  • 取消回覆