ホームページ  >  記事  >  データベース  >  mysqlの水平テーブルを分割する方法

mysqlの水平テーブルを分割する方法

(*-*)浩
(*-*)浩オリジナル
2019-05-25 16:44:305042ブラウズ

Mysql テーブル データは通常 100 万レベルに達し、クエリ効率が非常に低くなり、簡単にテーブル ロックが発生したり、大量の接続が蓄積して直接ハングアップしたりする可能性があります。水平テーブル パーティショニングにより、これらのプレッシャーを大幅に軽減できます。

mysqlの水平テーブルを分割する方法

#水平テーブル:

mysqlの水平テーブルを分割する方法

上の図に示すように: 他の 3 つのテーブルデータがこれら 3 つのテーブルにそれぞれ格納されることを除いて、構造は同じです。挿入またはクエリを実行する場合は、ID の残りの部分を取得してテーブル名を結合する必要があり、完全な table_name# になります。

##しかし、名前やメールアドレスをサブテーブルにする必要があるでしょうか?

次に、暗号化に MD5 を使用する必要があります。暗号化後の MD5 は 16 進数なので、剰余を取得できます。考え方は上記と同じです。

データの 1 つ以上の列の値に基づいて、データ行を 2 つの別々のテーブルに配置します。

水平分割は通常、次のような状況で使用されます。

テーブルは非常に大きいです。分割後は、クエリ中に読み取る必要があるデータとインデックス ページの数を減らすことができます。また、インデックス レイヤーの数も減り、クエリ速度が向上します。

テーブル内のデータは本質的に独立しています。たとえば、テーブルには地域ごとのデータや異なる期間のデータが記録されます。特に、一部のデータは共通に使用され、他のデータは使用されません。

以上がmysqlの水平テーブルを分割する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。