mySQLキーワードの実行優先度の説明

mySQLキーワードの実行優先度の説明

以下のように表示されます。

表から

条件

フィールドでグループ化

仮想テーブルとフィールドを作成し、フィールドを集計および追加する

フィルターデータを持つ

明確な

フィールドによる昇順、降順の並べ替え

エントリ数を制限する

リストレコードを選択

まず、データは where 制約に従ってテーブルからメモリにロードされ、where 条件がデータの前に機能し、フィールドに従ってグループ化され、フィールドを含む仮想テーブルがメモリ内に形成されます。

このとき、集計関数がある場合は、まず集計関数が実行され、集計関数フィールドも仮想テーブルに追加されます。次に、レコードのフィルタリングが実行されます。フィルタリングが完了すると、データの重複排除、並べ替え、制限などの操作が行われてから表示されます。

追加知識: MySQLのwhere条件の実行順序は左から右です

以前、この機能に取り組んでいたとき、3 つの条件を md5 で暗号化して文字列フィールド unique_key を取得し、このフィールドを一意のインデックスとして設定しました。検索時にこの一意のインデックスを使用すれば、3 つの条件を個別に検索する必要がなくなります。同時に、replace メソッドを使用して、同じ 3 つの条件でデータが更新された場合、データベースにレコードが 1 つだけ存在するようにします。

後で、リスト クエリではこれらの 3 つの条件を開く必要があることがわかったので、unique_key を where 条件の左側に配置する必要があり、unique_key によるフィルタリングの効率は悪くないことがわかりました。

作成時には、MySQL の最適化のあらゆる側面を考慮する必要があります。

以上が、mySQLキーワードの実行優先順位についての説明です。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Explainキーワードに基づいてMySQLインデックス機能を最適化する方法
  • mysql 実行プラン ID が空である (UNION キーワード) の詳細な説明
  • jq.ajax+php+mysql でキーワードあいまいクエリを実装する (例の説明)
  • MySQLキーワードDistinctの詳細な紹介
  • OR キーワードを使用した MySql 複数条件クエリ ステートメント

<<:  同期スクロールを実現するための複数のテーブル要素のサンプルコード

>>:  Tomcat イメージをインストールして Docker に Web プロジェクトをデプロイする方法を簡単に説明します。

推薦する

JS で if 判定をスムーズに行う方法

目次序文コードの実装アイデア 1アイデア2要約する参照ドキュメント序文プロジェクト内の小さな要件ポイ...

Docker プライベート サーバー イメージを定期的にクリーンアップする方法

CI を利用してリリース用の Docker イメージをビルドすることで、全員のバージョンリリース効率...

Bootstrap 3.0 学習ノートのボタンとドロップダウン メニュー

前回の記事はBootstrap CSS部分の簡単なレビューであり、多くの詳細が見落とされていました。...

Vue プロジェクトに Electron を追加するための詳細なコード

1. package.jsonに追加する "メイン": "electr...

nginx をベースにリロードなしでアップストリーム サーバーの動的な自動起動と停止を実装する方法

目次1. Consulクラスタをデプロイする1. 準備3. Consulクラスタを作成する4. 管理...

CSS3 を使用して入力複数選択ボックスのスタイルをカスタマイズする例

原則: まず入力要素を非表示にし、次に CSS を使用してラベル要素のスタイルを設定します (他の要...

MySQL 5.7 の sql_mode のデフォルト値によって生じる落とし穴と解決策

通常のプロジェクト開発中に、MySQL バージョンが 5.6 から 5.7 にアップグレードされた場...

JavaScript イベント ループのケース スタディ

js のイベント ループJavaScript はシングルスレッドなので、同じイベントで実行できるメソ...

Docker管理に関する断片的な知識のまとめ

目次1. 概要2. 応用例2.1、Docker コンテナ分離名前空間2.2. Docker のフリー...

ウェブデザインにおけるカラーマッチングの優れた例30選

本日は、色彩の応用に関する優れた事例を 30 件集めて、皆さんにご紹介したいと思います。これらの事例...

MySQL データベース内の varchar 型の数値のサイズを比較する方法

テストテーブルを作成する -- ---------------------------- -- ch...

MySQLの外部ネットワークアクセス権を開く方法

以下のように表示されます。主に認証コマンドを実行します: 2つの方法1. 任意のホストがユーザー b...

nginxリバースプロキシによるセッション障害の問題の解決策

同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...

表示または可視性によってHTML要素を非表示にする

場合によっては、特定の条件に基づいて Web ページ内の HTML 要素を表示するか非表示にするかを...

Linux ディスク管理 LVM の使用

1. LVM の概要Linux ディスクを管理するときに、このような状況に遭遇することがよくあります...