目次
1.Explain语法
2.执行计划分析和实例
3.总结
ホームページ データベース mysql チュートリアル MySQL学习系列2--MySQL执行计划分析EXPLAIN

MySQL学习系列2--MySQL执行计划分析EXPLAIN

Jun 01, 2016 pm 01:16 PM
プラン

MySQLexplain

1.Explain语法

EXPLAIN SELECT ……

变体:

  EXPLAIN EXTENDED SELECT …… 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句

2.执行计划分析和实例

创建员工表Employee

create table Employee(	ID int auto_increment,	Ename varchar(32),	Age int,	Salary float,	MID int,	Primary key (ID));
ログイン後にコピー

创建经理表Manager

create table Manager(MID int,Name varchar(32),Primary key(MID));
ログイン後にコピー

首先,看看下面这两条语句的执行结果,它们分别代表什么意思呢?

下图中结果部分的Type为ALL, 表示执行的是全表扫描。

 下图中执行结果部分Type为const,key为PRIMARY, 表示使用了主键索引,因为id为主键。

那么,每一列分别代表什么意思呢,请看下面的解释。

select_type 表示查询中每个select子句的类型(简单 OR复杂)

a.SIMPLE:查询中不包含子查询或者UNION

b.查询中若包含任何复杂的子部分,最外层查询则被标记为:PRIMARY

c.在SELECT或WHERE列表中包含了子查询,该子查询被标记为:SUBQUERY

d.在FROM列表中包含的子查询被标记为:DERIVED(衍生)

e.若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在 FROM子句的子查询中,外层SELECT将被标记为:DERIVED

f.从UNION表获取结果的SELECT被标记为:UNION RESULT

MySQL执行计划EXPLAIN主要可以通过type来进行分析:

type表示MySQL在表中找到所需行的方式,又称“访问类型”,常见类型如下:(从上至下,效果依次变好)

ALL:Full Table Scan。 index:Full Index Scan。

range:索引范围扫描。

ref :非唯一性索引扫描。

eq_ref :唯一性索引扫描。

const,system:将查询转换为一个常量。

null:MySQL在优化过程中分解语句,执行时甚至不用访问表或索引

ALL:Full Table Scan, MySQL将遍历全表以找到匹配的行,示例如下:

ename字段上没有索引,所以也是全表扫描。

index:Full Index Scan,index与ALL区别为index类型只遍历索引树

ID字段为主键索引,在索引中扫描。

range:索引范围扫描,对索引的扫描开始于某一点,返回匹配值域的行, 常见于between、,IN等的查询

ref:非唯一性索引扫描,返回匹配某个单独值的所有行。常见于使用非唯一索引即唯一索引的非唯一前缀进行的查找

name和age和覆盖索引,这里只使用了name,即只使用了唯一性索引的一部分,故为ref。

eq_ref:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。 常见于主键或唯一索引扫描

MID对于表Manager是唯一的,主键索引,来与employee连接,故type为eq_ref。

const、system:当MySQL对查询某部分进行优化,并转换为一个常量时, 使用这些类型访问。如将主键置于where列表中,MySQL就能将该查询转 换为一个常量。

system是const类型的特例,当查询的表只有一行的情况下, 使用system。

exployee中ID为主键索引,可以直接定位,故为const,而衍生后的结果集A中只有一条记录,故为type为system。

NULL:MySQL在优化过程中分解语句,执行时甚至不用访问表或索引。

ID= SELECT MIN(ID)说明ID已确定,使用EXPLAIN EXTENDED优化,所以type为null,mysql自动优化,无需去访问表或索引。

使用show warnings查看优化后得到的结果。

其他列的含义如下:

possible_keys 指出MySQL能使用哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用

key 显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULL

key_len 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度

ref 表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值

rows 表示MySQL根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数

Extra 包含不适合在其他列中显示但十分重要的额外信息 如using where,using index

3.总结

MySQL的执行计划分析在实际工作中也是非常重要的,SQL SERVER可以通过“显示估计的执行计划”来查看sql的执行计划,而MySQL则是通过explain + 查询语句来查看其执行计划,找出其索引使用情况,执行顺序等等,从而进行优化,使查询的性能得到提升。

如果您有什么问题,欢迎在下面评论,我们一起讨论,谢谢~

如果您觉得还不错,不妨点下右下方的推荐,有您的鼓励我会继续努力的~

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

win11 プレビュー プログラムを終了できません win11 プレビュー プログラムを終了できません Jun 29, 2023 pm 12:04 PM

win11 プレビュー プログラムを終了できませんか? win11 システムを使用すると、コンピュータ上で win11 プレビュー プログラムが起動され、使用できるようになります。ただし、このプレビュー プログラムを使用したくない友人もいます。このプレビュー プログラムが起動できることを願っています。分からない場合は、終了方法は以下のエディター Win11 プレビュー体験プログラムを終了するためのチュートリアルガイドをまとめましたので、興味のある方は以下をご覧ください。 Win11 Insider Program を終了するためのチュートリアル ガイド 1. まず、ショートカット キー「win+i」を押して Windows の設定に入り、「更新とセキュリティ」をクリックします。 2. 次に、図に示すように、左側のタスクバーにある「Windows Insider Program」をクリックします。 3. この時点で、右側にエクスペリエンスが表示されます。

Huawei P70が直接Pioneer Planを開始し、正式に販売されます Huawei P70が直接Pioneer Planを開始し、正式に販売されます Apr 19, 2024 pm 01:58 PM

中関村ニュース:4月18日朝、ファーウェイは突然、P70シリーズの携帯電話がパイオニアプランに基づいて正式に販売されると発表した。購入したい友人は、過去の慣例に従って、行動を起こす準備ができている必要がある。非常に人気があり、常に在庫切れになります。今回、Huawei P70シリーズは、純粋を意味するPuraという名前に変更されました。ファーウェイのユー・チェンドン氏は以前、「2012年以来、ファーウェイのPシリーズスマートフォンは忠実なパートナーのようなもので、世界中の何億人ものユーザーとともに数え切れない貴重な時間を過ごし、人生の美しさと興奮を共に目撃してきた」と語った。彼は、ファーウェイのPシリーズを選択するすべてのユーザーから与えられる信頼と愛が強力な原動力に相当し、ファーウェイがイノベーションの道をしっかりと前進するよう常にインスピレーションを与えていると深く感じました。プラとは純粋という意味です。

新しいタイトル: ロシアはマイクロエレクトロニクス産業の高度化を促進: 新しい計画の策定 新しいタイトル: ロシアはマイクロエレクトロニクス産業の高度化を促進: 新しい計画の策定 Oct 12, 2023 pm 11:05 PM

10月12日のニュースによると、ロシアはマイクロエレクトロニクスの分野で重要な進歩を遂げたという。ロシア産業貿易省は最近、同国の半導体技術レベルの向上を目的とした新しいマイクロエレクトロニクス開発ロードマップを提案した。ロシアのマイクロエレクトロニクス企業は現在、130ナノメートルプロセスのチップ製品を生産できるようになっており、新たな目標は2026年に65ナノメートルチップの大規模生産を達成し、その後28ナノメートルチップを国内で製造する計画であると理解されている。 2030年までに14nmチップの量産を達成するという動きは、地元の専門家から高く評価されており、これらの技術進歩はロシアがLinuxやRISC-Vなどのオープンソース技術をベースにした手頃な価格のラップトップを生産するのに役立つと信じている。年、ロシア政府

2025年量産、長安汽車が最新の全固体電池計画を明らかに 2025年量産、長安汽車が最新の全固体電池計画を明らかに Dec 03, 2023 pm 08:34 PM

12月3日のニュースによると、長安汽車は最近、最新の投資家向け広報活動記録で全固体電池計画の最新の進捗状況を明らかにした。長安汽車は現在、半固体電池および全固体電池用の新しい電解質材料と主要プロセスの開発を積極的に進めている。私たちの理解によれば、同社は車両需要に基づいて全固体電池の開発を段階的に推進し、2025 年からアプリケーションの量産を段階的に開始する予定である。編集者の理解によると、長安汽車は重量と重量の改善に取り組んでいる。全固体電池の研究開発における電池のエネルギー密度は350~500Wh/kgに達すると予想されており、体積エネルギー密度も750~1000Wh/Lに達すると予想されています。この新型電池は2030年までに完全に普及すると予想されている。さらに、長安汽車はリチウム硫黄電池も開発している。

正式販売中: Huawei Pura 70 シリーズ パイオニア プログラムが開始されました! 正式販売中: Huawei Pura 70 シリーズ パイオニア プログラムが開始されました! Apr 19, 2024 pm 04:34 PM

4月18日のニュースによると、ファーウェイはファーウェイPura70シリーズのパイオニアプランを正式に開始したとのこと。 Huawei Pura70 Ultra には、業界初のスーパーズーム潜望鏡カメラが搭載されており、ユーザーは画質を低下させることなく、驚くほどの近距離および長距離の写真を撮影できます。また、このシリーズは超高速風速フラッシュ機能を搭載し、撮影速度の記録を更新しました。これらの新機能により、高画質を維持しながら撮影者に近づいて撮影することが可能になります。 HUAWE IPura70シリーズにはHarmonyOS4.2がプリインストールされており、より興味深く、スマートでスムーズなフラッグシップ体験を提供します。北斗衛星メッセージング機能がアップグレードされ、画像メッセージの送信をサポートし、より表現力豊かなコミュニケーションを実現します。このシリーズはAIAiにも対応しています

iPhone、Mac、iPadの控除額が増額! Appleの下取りプランの特典が登場 iPhone、Mac、iPadの控除額が増額! Appleの下取りプランの特典が登場 Jul 12, 2023 pm 02:53 PM

7 月 6 日のニュースによると、Apple China は最近 AppleTradeIn 償還計画を調整し、Apple デバイスの古いユーザーに朗報をもたらしました。編集者の理解によれば、このプランではiPhone、Mac、iPadなどの下取り控除額が増額されているとのこと。 iPhone製品の場合、iPhone 13 Pro Maxの最大割引額は5,500元、iPhone 13 Proは4,900元、iPhone 13は3,350元、iPhone 13 miniは3,000元、iPhone 12 Pro Maxの最大割引額は3,800元です。 、そして新しく発売されたiPhone SE第3世代

Android システムのセキュリティが脆弱性の減少により大幅に改善されたため、Google はバグ報奨金プログラムを終了しようとしています Android システムのセキュリティが脆弱性の減少により大幅に改善されたため、Google はバグ報奨金プログラムを終了しようとしています Aug 21, 2024 pm 12:34 PM

最近、Google は、7 年近くにわたって実施してきた Google Play セキュリティ リワード プログラム (GPSRP) を 2024 年 8 月 31 日に終了すると発表しました。この決定は、Android システムのセキュリティが大幅に向上したことに基づいています。開発者への電子メールでは、Android オペレーティング システムのセキュリティが強化され、その機能が強化されるにつれて、セキュリティ研究者が悪用できる脆弱性の数が減少したため、GPSRP プログラムは必要なくなったと指摘されています。 1. 計画によれば、8 月 31 日までに提出されたすべての脆弱性レポートは 9 月 15 日までに評価され、最終的な報酬決定は 9 月末までに発表される予定です。Google は GPSRP に参加した研究者に感謝の意を表明し、すべての報告を行うことを約束しました。提出された脆弱性レポートは審査および処理され、

共同研究の計画の立て方 共同研究の計画の立て方 Feb 27, 2024 am 11:13 AM

Costudy は、時間計画に焦点を当て、主にユーザーが毎日の時間をより適切に管理できるようにするソフトウェアです。毎日の時間をより効率的に管理したい場合、Costudy は非常に実用的なツールです。 「Costudy」では、タスクリストの作成や時間リマインダーの設定、スケジュールの調整などを簡単に行うことができ、効率的な時間管理を実現します。そして毎月の戦略。 「costudy」での計画の立て方: 1. まず、コスチュームを開き、右側の「日記」をクリックします。 2. 日記ページに入り、右上隅にある「今日の ToDo を追加」をクリックします。 3. 今日の学習目標を設定し、クリックします。

See all articles