この記事では、mysql のクエリ最適化が遅いという問題について説明します。SQL を分析し、チェックし、最適化する方法を段階的に説明します。一緒に見てみましょう。皆さんのお役に立てれば幸いです。
mysql のクエリの最適化が遅かったことを思い出してください。本番環境の To-Do リストのライブ デモンストレーションでは、結果; 突然、製品 マネージャーは、長年の経験を持つ上級開発者として、もう我慢できずに考えました、そして彼の顔は笑いでいっぱいでした。
ただし、アリーナでの長年の経験があるため、何かが起こってもパニックにならず、まず写真を撮ってください。
推奨学習: 「MySQL ビデオ チュートリアル 」
最初のステップは SQL を分析することです
***from event i left join project p on i.project_id = p.project_code left join dict d on i.type_id = d.id left join record re on re.incident_id = i.id left join type it on it.id = i.type_id where i.version_flag = 0 and i.flow_id in (大量条件)***复制代码
When flow_id in access条件が多数あると、SQL の速度が直接低下し、以前の 80 ミリ秒から 5.8 秒に低下します。また、ここには関連テーブルが多数あります。
2 番目のステップは、インデックスを確認して Explain を実行することです
インデックスを確認して、re.incident_id と i.flow_id にインデックスが作成されていないことが判明した場合、とてもうれしいです。問題が見つかりました。わかりました。インデックスを作成します。しかし、SQL を実行すると、卵がないことがわかりました。私は賢いので、Explain を直接開いたところ、レコードの種類が all であり、インデックスがないことがわかりました。
なぜ?なぜ?
3 番目のステップは、関連する 2 つのフィールドのフィールド タイプ、長さ、および文字タイプが一致しているかどうかを確認することです
フィールドを比較すると、型とフィールドの長さが完全に一致していることがわかりました。少し落ち込んでいた後、新しい手がかりを見つけました -
イベント テーブルの ID の文字型は次のとおりです:
レコード テーブルの Incident_id の文字タイプは次のとおりです。
4 番目のステップは、インデックス操作の使用を強制することです。
テーブルがの場合、mysql はデフォルトで全文検索を使用します。インデックス ベースが次の場合は、 が小さすぎるため、テーブルの業務量が大きすぎても、インデックス フィールドが基本的に同じデータまたは null の場合でも、sql に強制インデックスを記述する必要があります。強制インデックス ソリューションを使用してください。 SQL で左結合の後に強制を追加します。index(alarm_id)——
30% を超える場合、インデックスを使用せずにテーブル全体をスキャンするため、IN がインデックスを使用するかどうかは、データの量に関係します。その後のデータ。 左結合を使用すると、大量のデータを処理できます。
以上が何かが起こってもパニックにならず、まず記録してください: 遅いクエリの最適化における mysqlの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

MySQLは、初心者がデータベーススキルを学ぶのに適しています。 1.MySQLサーバーとクライアントツールをインストールします。 2。selectなどの基本的なSQLクエリを理解します。 3。マスターデータ操作:テーブルを作成し、データを挿入、更新、削除します。 4.高度なスキルを学ぶ:サブクエリとウィンドウの関数。 5。デバッグと最適化:構文を確認し、インデックスを使用し、選択*を避け、制限を使用します。

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

MySQLは、Web開発で広く使用されているオープンソースリレーショナルデータベース管理システムです。その重要な機能には、次のものが含まれます。1。さまざまなシナリオに適したInnodbやMyisamなどの複数のストレージエンジンをサポートします。 2。ロードバランスとデータバックアップを容易にするために、マスタースレーブレプリケーション機能を提供します。 3.クエリの最適化とインデックスの使用により、クエリ効率を改善します。

SQLは、MySQLデータベースと対話して、データの追加、削除、変更、検査、データベース設計を実現するために使用されます。 1)SQLは、ステートメントの選択、挿入、更新、削除を介してデータ操作を実行します。 2)データベースの設計と管理に作成、変更、ドロップステートメントを使用します。 3)複雑なクエリとデータ分析は、ビジネス上の意思決定効率を改善するためにSQLを通じて実装されます。

MySQLの基本操作には、データベース、テーブルの作成、およびSQLを使用してデータのCRUD操作を実行することが含まれます。 1.データベースの作成:createdatabasemy_first_db; 2。テーブルの作成:createTableBooks(idintauto_incrementprimarykey、titlevarchary(100)notnull、authorvarchar(100)notnull、published_yearint); 3.データの挿入:InsertIntoBooks(タイトル、著者、公開_year)VA

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

MySQLデータベースを構築する手順には次のものがあります。1。データベースとテーブルの作成、2。データの挿入、および3。クエリを実行します。まず、createdAtabaseおよびcreateTableステートメントを使用してデータベースとテーブルを作成し、InsertINTOステートメントを使用してデータを挿入し、最後にSelectステートメントを使用してデータを照会します。

MySQLは、使いやすく強力であるため、初心者に適しています。 1.MYSQLはリレーショナルデータベースであり、CRUD操作にSQLを使用します。 2。インストールは簡単で、ルートユーザーのパスワードを構成する必要があります。 3.挿入、更新、削除、および選択してデータ操作を実行します。 4. Orderby、Where and Joinは複雑なクエリに使用できます。 5.デバッグでは、構文をチェックし、説明を使用してクエリを分析する必要があります。 6.最適化の提案には、インデックスの使用、適切なデータ型の選択、優れたプログラミング習慣が含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール
