MySQLの水平および垂直テーブルパーティションの説明

MySQLの水平および垂直テーブルパーティションの説明

前回の記事で、MySQL ステートメントの最適化には限界があると述べました。MySQL ステートメントの最適化は、インデックスの最適化を中心に展開されます。MySQL のインデックスで大量のデータのクエリが遅い問題を解決できない場合は、水平および垂直のテーブル パーティションが登場します (これは私の理解を記録しただけです)

水平テーブル:

上の図に示すように、他の3つのテーブルは、データがこれらの3つのテーブルに別々に保存されることを除いて、同じ構造を持っています。挿入またはクエリを実行する場合は、IDの係数を取得してからテーブル名を連結して、完全なtable_nameを作成する必要があります。

しかし、名前テーブルや電子メールを分離する必要がある場合はどうすればよいでしょうか?

次に、暗号化された MD5 番号は 16 進数であるため、余りを取得できる MD5 を使用して暗号化する必要があります。考え方は上記と同じです。

縦型テーブル:

垂直分割はなぜ必要なのでしょうか?

テーブル内に表示する必要がない、または現在必要のない大きなフィールドがある場合、意図的にクエリを実行しなくても、ID やその他のインデックスに基づいてクエリを実行すると、大きなフィールドが一緒に検索され、クエリのパフォーマンスに重大な影響を及ぼします。そのため、垂直分割が使用されます。

詳細については次の図を参照してください。

以上が水平・垂直の表分割のアイデアです。足りないところがあればご指摘ください。よろしくお願いします。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL にテキストと画像を保存する方法
  • Ubuntu での mysql のインストールと使用 (一般版)
  • Node.js が同期呼び出しして MySQL データを取得するときに遭遇する落とし穴
  • MySQLにインデックスを追加する方法
  • Alibaba Cloud ESC サーバー シングルノード MySQL の Docker デプロイメント
  • MySQL ストレージ エンジン MyISAM と InnoDB の違いの概要
  • MySQLパスワードを忘れた場合のいくつかの解決策
  • Tomcat+Mysql の高同時実行構成の最適化の説明
  • MySQL データベース インデックスが B+ ツリーの使用を選択するのはなぜですか?
  • MySQLデータベースに画像を保存するいくつかの方法

<<:  ネイティブ JS を使用してタッチスライド監視イベントを実装する方法

>>:  バッチモードでtopコマンドを実行する方法

推薦する

Vue+Springbootでインターフェースシグネチャを実装するためのサンプルコード

1. 実装のアイデアインターフェース署名の目的は、リクエストパラメータが改ざんされていないか、リクエ...

vsftpd ユーザーが ssh 経由でログインすることを禁止する方法

序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...

Dockerコンテナを終了した後も実行を継続する方法

現象:イメージを実行します (例: ubuntu14.04)。 docker run -it --r...

MySQL ソートの原則とケース分析

序文ソートはデータベースの基本的な機能であり、MySQL も例外ではありません。ユーザーは、Orde...

goaccess を使用して nginx ログを分析する詳細な方法

最近、goaccess を使って nginx ログを分析したいのですが、nginx ログの設定形式が...

VueはBaidu Mapsを使用して都市の位置特定を実現

この記事では、参考までに、Baidu Mapsを使用して都市の位置特定を実現するVueの具体的なコー...

MySQL チュートリアル: サブクエリの例の詳細な説明

目次1. サブクエリとは何ですか? 2. サブクエリはどこに表示されますか? 3. Whereサブク...

Tomcat マルチレイヤーコンテナの設計に関する簡単な説明

目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...

AngularJSループオブジェクトプロパティで動的列を実装するアイデアの詳細な説明

動的な列を実現するための Angularjs ループ オブジェクト プロパティ利点: オブジェクトを...

nginxでの共有メモリの使用に関する詳細な説明

nginx プロセス モデルでは、トラフィック統計、トラフィック制御、データ共有などのタスクを完了す...

入力が完了したことを検出し、次のコンテンツを自動的に入力する HTML を実装する方法

前回の記事では、入力完了の簡単な検出を実現しましたが、今回はさらに一歩進んで、入力が完了した後に次の...

HTMLのリストタグを数える

1. <dl>はリストを定義し、<dt>はリスト内の項目を定義し、<d...

MYSQL での Truncate の使用法の詳細な説明

この記事のガイド: テーブル内のデータを削除するには、削除と切り捨ての 2 つの方法があります。TR...

divとspanの違いと使い方

目次1. DIVとSPANの違いと特徴2. スパンタグの概要3. 拡大と改善4. 凡例の効果の実証例...

BT Baota Panel php7.3 および php7.4 が ZipArchive をサポートしない問題の解決方法

Baota PanelのPHP7.3バージョンがZipArchiveをサポートしていないため、プログ...