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コマンドを実行する方法

推薦する

インデックスを設計する際の原則は何ですか? インデックスの障害を回避するにはどうすればよいでしょうか?

目次主キーインデックス頻繁にクエリされるフィールドのインデックスを作成する大きなフィールドのインデッ...

Nest.js パラメータ検証とカスタム戻りデータ形式の詳細な説明

0x0 パラメータ検証Nest.jsでは、パラメータ検証業務のほとんどをパイプライン方式で実装してい...

VMware Workstation のダウンロードとインストールの詳細なチュートリアル

仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

CentOS 7.x に ZSH ターミナルをインストールする方法

1. 基本コンポーネントをインストールするまず、 yumコマンドを実行して、コードpullために必要...

nginx ssl を設定して https アクセスを実装する手順 (初心者向け)

序文サーバーを展開した後、私は大きな喜びを感じながら自分の Web サイトにアクセスし、見たものすべ...

js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する

この記事の例では、コンテンツの計算を実現するためのjsドラッグアンドドロップテーブルの具体的なコード...

Vue3.0 エラーの解決策: モジュール 'worker_threads' が見つかりません

vue3.0 への最初の試みを記録します。プロジェクトを開始したときに、「モジュール 'wo...

JavaScriptのURLオブジェクトとは何かについて話しましょう

目次概要ハッシュプロパティホストプロパティホスト名属性Href属性起源のプロパティユーザー名とパスワ...

Windows 10 での mysql-8.0.17-winx64 のインストール方法

1.公式サイトからダウンロードして解凍する参考: ダウンロード後、zip 圧縮ファイル (mysql...

バックエンドデータを取得するためのVue Elementフロントエンドアプリケーション開発

目次概要1. バックエンドデータの取得と処理2. インターフェース表示処理概要前回のエッセイ「ステッ...

Docker で ElasticSearch と Kibana をインストールするためのサンプル コード

1. はじめにElasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを...

Mysql データベース ストアド プロシージャの基本構文の説明

プロシージャ sp_name を削除します//これまで、MYSQL 構文の基礎知識について説明して...

単一マシン上での Tomcat の複数インスタンスの実装

1. はじめにまず、1 台のマシンで複数のインスタンスを使用する理由という質問に答える必要があります...