ホームページ データベース mysql チュートリアル 如何快速得到真实的执行计划

如何快速得到真实的执行计划

Jun 07, 2016 pm 04:04 PM
create 準備 どうやって 速い 埋め込む 現実 プラン

准备工作: create table zbdba as select * from dba_objects;create table zbdba1 as select * from dba_objects;create index zbdba_owner on zbdba(owner);create index zbdba1_owner on zbdba1(owner);exec dbms_stats.gather_table_stats(user, ZBDBA,

准备工作:
create table zbdba as select * from dba_objects;

create table zbdba1 as select * from dba_objects;

create index zbdba_owner on zbdba(owner);

create index zbdba1_owner on zbdba1(owner);

exec dbms_stats.gather_table_stats(user, 'ZBDBA', method_opt => 'FOR ALL COLUMNS SIZE 1');

exec dbms_stats.gather_table_stats(user, 'ZBDBA1', method_opt => 'FOR ALL COLUMNS SIZE 1');
ログイン後にコピー
通常我们对于执行时间很长的sql查看执行计划:
explain plan for select zbdba.object_name from zbdba,zbdba1 where zbdba.owner=zbdba1.owner

SCOTT@orcl11g>select plan_table_output from table(dbms_xplan.display());
PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1287183320

----------------------------------------------------------------------------------------------
| Id  | Operation             | Name         | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |              |   207M|  7330M|       |  1198  (55)| 00:00:15 |
|*  1 |  HASH JOIN            |              |   207M|  7330M|  1272K|  1198  (55)| 00:00:15 |
|   2 |   INDEX FAST FULL SCAN| ZBDBA1_OWNER | 72068 |   422K|       |    48   (0)| 00:00:01 |
|   3 |   TABLE ACCESS FULL   | ZBDBA        | 72067 |  2181K|       |   288   (1)| 00:00:04 |
----------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access("ZBDBA"."OWNER"="ZBDBA1"."OWNER")

15 rows selected.
ログイン後にコピー

但是这种执行计划不一定是准确的。那我们怎么能才能快速的得到准确的执行计划呢?

真实的执行计划就是已经执行的sql

那么

select zbdba.object_name from zbdba,zbdba1 where zbdba.owner=zbdba1.owner;

你不需要一直等,ctrl+c中断即可

SCOTT@orcl11g>select sql_text,sql_id,hash_value,child_number from v$sql where sql_text like 'select zbdba.object_name from zbdba,zbdba1 where zbdba.owner=zbdba1.owner%';
SQL_TEXT                                                     SQL_ID                     HASH_VALUE CHILD_NUMBER
------------------------------------------------------------ -------------------------- ---------- ------------
select zbdba.object_name from zbdba,zbdba1 where zbdba.owner fr4g7ypwx5krq              2043857654            0
=zbdba1.owner


SCOTT@orcl11g>select * from table(dbms_xplan.display_cursor('fr4g7ypwx5krq',0,'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------
SQL_ID  fr4g7ypwx5krq, child number 0
-------------------------------------
select zbdba.object_name from zbdba,zbdba1 where
zbdba.owner=zbdba1.owner

Plan hash value: 1287183320

----------------------------------------------------------------------------------
| Id  | Operation             | Name         | E-Rows |  OMem |  1Mem | Used-Mem |
----------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |              |        |       |       |          |
|*  1 |  HASH JOIN            |              |    207M|  3024K|  1862K| 7066K (0)|
|   2 |   INDEX FAST FULL SCAN| ZBDBA1_OWNER |  72068 |       |       |          |
|   3 |   TABLE ACCESS FULL   | ZBDBA        |  72067 |       |       |          |
----------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access("ZBDBA"."OWNER"="ZBDBA1"."OWNER")

Note
-----
   - Warning: basic plan statistics not available. These are only collected when:
       * hint 'gather_plan_statistics' is used for the statement or
       * parameter 'statistics_level' is set to 'ALL', at session or system level

27 rows selected.
ログイン後にコピー
这样就快速从内存中到了真实的执行计划

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

5分ごとに実行されるPythonスクリプト 5分ごとに実行されるPythonスクリプト Sep 10, 2023 pm 03:33 PM

自動化とタスクのスケジューリングは、ソフトウェア開発における反復的なタスクを合理化する上で重要な役割を果たします。 API からのデータの取得、データ処理の実行、定期的な更新の送信など、5 分ごとに実行する必要がある Python スクリプトがあると想像してください。スクリプトを手動で頻繁に実行すると、時間がかかり、エラーが発生しやすくなります。ここでタスクのスケジュール設定が役に立ちます。このブログ投稿では、Python スクリプトを 5 分ごとに実行するようにスケジュールし、手動介入なしで自動的に実行されるようにする方法を説明します。この目標を達成するために使用でき、タスクを効率的に自動化できるさまざまな方法とライブラリについて説明します。 time.sleep() 関数を使用して Python スクリプトを 5 分ごとに実行する簡単な方法は、tim を利用することです。

Linux でのスクリプト作成と実行に Python を使用する方法 Linux でのスクリプト作成と実行に Python を使用する方法 Oct 05, 2023 am 11:45 AM

Python を使用して Linux でスクリプトを作成および実行する方法 Linux オペレーティング システムでは、Python を使用してさまざまなスクリプトを作成および実行できます。 Python は、スクリプト作成をより簡単かつ効率的にするための豊富なライブラリとツールを提供する、簡潔で強力なプログラミング言語です。以下では、Linux で Python を使用してスクリプトを作成および実行する基本的な手順を紹介し、Python をよりよく理解して使用するのに役立つ具体的なコード例をいくつか示します。 Pythonをインストールする

SpringBoot と SpringMVC の違いと比較を理解する SpringBoot と SpringMVC の違いと比較を理解する Dec 29, 2023 am 09:20 AM

SpringBoot と SpringMVC を比較し、その違いを理解する Java 開発の継続的な発展に伴い、Spring フレームワークは多くの開発者や企業にとって最初の選択肢となっています。 Spring エコシステムでは、SpringBoot と SpringMVC の 2 つの非常に重要なコンポーネントです。どちらも Spring フレームワークをベースにしていますが、機能や使用方法にいくつかの違いがあります。この記事では、SpringBoot と Spring の比較に焦点を当てます。

Win11 の「マイ コンピュータ」パスの違いは何ですか?すぐに見つけられる方法! Win11 の「マイ コンピュータ」パスの違いは何ですか?すぐに見つけられる方法! Mar 29, 2024 pm 12:33 PM

Win11 の「マイ コンピュータ」パスの違いは何ですか?すぐに見つけられる方法! Windows システムは常に更新されているため、最新の Windows 11 システムにもいくつかの新しい変更と機能が追加されています。よくある問題の 1 つは、Win11 システムでユーザーが「マイ コンピューター」へのパスを見つけられないことですが、これは通常、以前の Windows システムでは簡単な操作でした。この記事では、Win11 システムでの「マイ コンピュータ」のパスの違いと、それらをすばやく見つける方法を紹介します。 Windows1の場合

Vue3 のライフサイクル機能: Vue3 のライフサイクルをすばやくマスターします Vue3 のライフサイクル機能: Vue3 のライフサイクルをすばやくマスターします Jun 18, 2023 am 08:20 AM

Vue3 は現在、フロントエンドの世界で最も人気のあるフレームワークの 1 つであり、Vue3 のライフサイクル機能は Vue3 の非常に重要な部分です。 Vue3 のライフサイクル機能を使用すると、特定の時間に特定のイベントをトリガーすることができ、コンポーネントの高度な制御性が向上します。この記事では、読者が Vue3 のライフ サイクル機能をすぐにマスターできるように、Vue3 のライフ サイクル機能の基本概念、各ライフ サイクル機能の役割と使用法、実装事例を詳しく調べて説明します。 1. Vue3のライフサイクル機能

WordPress Web サイト構築ガイド: 個人用 Web サイトをすばやく構築する WordPress Web サイト構築ガイド: 個人用 Web サイトをすばやく構築する Mar 04, 2024 pm 04:39 PM

WordPress Web サイト構築ガイド: 個人用 Web サイトを素早く構築する デジタル時代の到来により、個人用 Web サイトを持つことが流行し、必要なものになりました。最も人気のある Web サイト構築ツールである WordPress を使用すると、個人の Web サイトをより簡単かつ便利に構築できます。この記事では、具体的なコード例を含め、個人用 Web サイトをすばやく構築するためのガイドを提供します。自分の Web サイトを持ちたいと考えている友人の助けになれば幸いです。ステップ 1: ドメイン名とホスティングを購入する 個人 Web サイトの構築を始める前に、まず独自の Web サイトを購入する必要があります

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

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

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. この時点で、右側にエクスペリエンスが表示されます。

See all articles