検索

ホームページ  >  に質問  >  本文

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

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

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

伊谢尔伦伊谢尔伦2862日前665

全員に返信(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

    テーブルの容量は依然として制限されています。データが多くなると、挿入するたびに、対応するパーティションを見つけて挿入する必要があります。インデックスが大きくなり、挿入速度が低下します

    テーブル分割のデメリットについては、もちろん、フィールドを変更する必要がある場合は、すべてのテーブルでそれを行う必要があると述べましたが、その可能性は低く、以前のデータはデータは履歴になります。すべてのデータをテーブルに配置すると、テーブル構造を変更するとテーブルがロックされませんか?この側面から、サブテーブルは読み取りと書き込みの分離も実現できます。もう 1 つの欠点は、クエリには union table が必要であり、while を使用して sql を結合する必要があることですが、これは少し面倒であり、パーティションを結合する必要がないことです。 。 。

    実際には、シャード テーブルとパーティションは結合されることが多く 、それぞれが互いに補完します。

    返事
    0
  • キャンセル返事