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

推薦する

JavaScriptアップロードファイル制限パラメータケースの詳細な説明

プロジェクトシナリオ: 1. アップロードファイルの制限関数: 1. フロントエンド操作による異常な...

Docker コンテナのログを表示およびクリーンアップする方法 (テスト済みで効果的)

1. 問題Docker コンテナのログにより、ホストのディスク領域がいっぱいになりました。 doc...

Vue は Ctrip のカルーセル効果を模倣します (スライディング カルーセル、以下は高度に適応)

まずケースを見てみましょう。vue+swiper を使用して実装します。スライドの高さが異なる場合、...

Nginx 構成 PC サイトとモバイル サイトの分離によるリダイレクトの実現

PCサイトとモバイルサイトの分離設定にはnginxを使います。私のPCサイトとモバイルサイトは、SE...

CSS フロントエンドの知識ポイントのまとめ(必読)

1. CSS の概念: (カスケーディング スタイル シート)利点: 1. コンテンツとプレゼンテ...

Apache Tika を使用してファイルが破損しているかどうかを検出する方法

Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...

HTMLはフォームタグを使用して登録ページのサンプルコードを実装します。

ケースの説明: - ページ効果を実現するためにテーブルを使用する- ハイパーリンクを機能させたくない...

CSS で text-align と margin: 0 auto を使用して中央に配置する例コード

CSSでtext-align、margin: 0 autoを使用して中央揃えにするtext-alig...

MySQL エラー番号 1129 の解決方法

SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...

Dockerデータのバックアップとリカバリプロセスの詳細な説明

データのバックアップ操作は非常に簡単です。次のコマンドを実行します。 docker run --vo...

HTML テーブル マークアップ チュートリアル (1): テーブルの作成

<br />これは 123WORDPRESS.COM が提供する一連のチュートリアルです...

CSSのline-heightとheightの詳細な説明

最近、CSS インターフェースに取り組んでいるときに、line-height と height とい...

仮想スクロールを簡単に実装するためのVueサンプルコード

目次序文ローリング原理成し遂げるソースコード参照する序文モバイル Web ページの日常的な開発では、...

MySQLクエリトランザクション処理へのノード接続の実装

目次トピックmysqlの追加、削除、変更、クエリを入力しますMySQL トランザクション処理私は M...

シンプルな画像切り替えを実現するJavaScript

この記事では、JavaScriptで簡単な画像切り替えを実現するための具体的なコードを参考までに紹介...