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 プロジェクトをデプロイする方法を簡単に説明します。

推薦する

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...

Vue カードスタイルのクリックして切り替える画像コンポーネントの使用方法の詳細な説明

この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...

ブラインドの特殊効果を実現するネイティブJS

この記事では、ネイティブ JS で実装されたブラインドの特殊効果を紹介します。効果は次のとおりです。...

vue-cli でレスポンシブ レイアウトを実装する方法

フロントエンド開発を行うと、PCとモバイル端末の適応に必然的に直面することになります。このような問題...

MySQLデータベースの基礎知識

目次1. データベースを理解する1.1 データベースとデータ構造の関係1.2 なぜデータベースが必要...

Keras を使って SQL インジェクション攻撃を判断する (例の説明)

この記事では、ディープラーニングフレームワーク keras を使用して、SQL インジェクションの特...

Linuxシステムはルートアカウントのリモートログインコマンドを禁止しています

ps: Linux システムで root アカウントのリモート ログインを無効にする方法は次のとおり...

CSS でホバー ドロップダウン メニューを実装する方法

いつものように、今日は非常に実用的な CSS 効果についてお話します。マウスがボタンに移動すると、ド...

MySQL 8.0.11 インストール概要チュートリアル図

インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...

Vue を使用した Amap アプリケーション開発のベスト プラクティス

目次序文非同期読み込みパッケージコンポーネントコンポーネントの使用インターフェースをカスタマイズする...

Linux で crontab 出力リダイレクトが有効にならない問題の解決方法

質問LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...

Vue 構成リクエストの複数サーバーソリューションの詳細な説明

1. 解決策1.1 インターフェースコンテキストパスの説明2 つのバックエンド インターフェイス サ...

VMware CentOS 仮想マシンのインストールとネットワーク構成のグラフィックチュートリアル

1. CentOSイメージをダウンロードする1.1 ダウンロードウェブサイトhttp://mirro...

CSSのline-heightを継承する方法

Line-height はどのように継承されますか?30px などの特定の値を書き込むと、この値が継...