首頁 資料庫 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 Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
每5分鐘執行一次的Python腳本 每5分鐘執行一次的Python腳本 Sep 10, 2023 pm 03:33 PM

自動化和任務調度在簡化軟體開發中的重複任務方面發揮著至關重要的作用。想像一下,有一個Python腳本需要每5分鐘執行一次,例如從API取得資料、執行資料處理或發送定期更新。如此頻繁地手動運行腳本可能非常耗時且容易出錯。這就是任務調度的用武之地。在這篇文章中,我們將探討如何安排Python腳本每5分鐘執行一次,確保它自動運行而無需手動幹預。我們將討論可用於實現此目標的不同方法和程式庫,使您能夠有效地自動化任務。使用time.sleep()函數每5分鐘運行一次Python腳本的簡單方法是利用tim

如何使用Python在Linux中進行腳本編寫和執行 如何使用Python在Linux中進行腳本編寫和執行 Oct 05, 2023 am 11:45 AM

如何使用Python在Linux中進行腳本編寫和執行在Linux作業系統中,我們可以使用Python編寫並執行各種腳本。 Python是一種簡潔而強大的程式語言,它提供了豐富的函式庫和工具,使得腳本編寫變得更加簡單和有效率。以下我們將介紹在Linux中如何使用Python進行腳本編寫和執行的基本步驟,同時提供一些具體的程式碼範例來幫助你更好地理解和運用。安裝Pytho

理解SpringBoot和SpringMVC之間的差異及比較 理解SpringBoot和SpringMVC之間的差異及比較 Dec 29, 2023 am 09:20 AM

對比SpringBoot與SpringMVC,了解它們的差異隨著Java開發的不斷發展,Spring框架已經成為了許多開發人員和企業的首選。在Spring的生態系中,SpringBoot和SpringMVC是兩個非常重要的組件。雖然它們都是基於Spring框架的,但在功能和使用方式上卻有一些區別。本文將聚焦在SpringBoot與Sprin

Vue3中的生命週期函數:快速掌握Vue3的生命週期 Vue3中的生命週期函數:快速掌握Vue3的生命週期 Jun 18, 2023 am 08:20 AM

Vue3是目前前端界最熱門的框架之一,而Vue3的生命週期函數是Vue3中非常重要的一部分。 Vue3的生命週期函數可以讓我們實現在特定的時機觸發特定的事件,增強了元件的高度可控性。本文將從Vue3的生命週期函數的基本概念、各個生命週期函數的作用和使用方法以及實現案例等方面進行詳細探究和講解,幫助讀者快速掌握Vue3的生命週期函數。一、Vue3的生命週期函數的

Win11系統中「我的電腦」路徑有何不同?快速找方法! Win11系統中「我的電腦」路徑有何不同?快速找方法! Mar 29, 2024 pm 12:33 PM

Win11系統中「我的電腦」路徑有何不同?快速找方法!隨著Windows系統的不斷更新,最新的Windows11系統也帶來了一些新的變化和功能。其中一個常見的問題是使用者在Win11系統中找不到「我的電腦」的路徑,這在先前的Windows系統中通常是很簡單的操作。本文將介紹Win11系統中「我的電腦」的路徑有何不同,以及快速尋找的方法。在Windows1

華為 P70 直接開啟先鋒計畫 正式開售 華為 P70 直接開啟先鋒計畫 正式開售 Apr 19, 2024 pm 01:58 PM

中關村消息:4月18日早上,華為突然宣布P70系列手機開啟先鋒計畫正式開售,想要購買的朋友要準備行動起來了,按照以往慣例,華為的旗艦手機非常搶手,會一直處於缺貨狀態。這次華為P70系列改名為Pura,意為純粹。在此前華為餘承東表示:自2012年起,華為P系列智慧型手機便如同忠實的伙伴,伴隨全球億萬用戶度過了無數珍貴時刻,共同見證了生活中的美好與精彩紛呈。他深刻感悟,每位選擇華為P系列的用戶所給予的信任與熱愛,無異於一股強大的推動力,始終鼓舞著華為在創新之路上堅定前行。 Pura的意思是純粹的。

win11預覽體驗計畫退出不了 win11預覽體驗計畫退出不了 Jun 29, 2023 pm 12:04 PM

win11預覽體驗計畫退出不了?我們在使用win11系統的時候,電腦中都會推出win11預覽體驗計劃供我們使用,但是有小伙伴不想使用這個預覽體驗計劃,希望可以推出這個預覽體驗計劃,如果你不知道應該如何退出,小編下面整理了退出Win11預覽體驗計畫教學攻略,如果你有興趣的話,小編下面一起往下看看吧!退出Win11預覽體驗計畫教學攻略1、先按下快速鍵「win+i」進入windows設定點選「更新與安全性」。 2、然後點選左側工作列中的“windows預覽體驗計畫”,如圖所示。 3.此時可以看到右側的體驗

WordPress 網站建立指南:快速建立個人網站 WordPress 網站建立指南:快速建立個人網站 Mar 04, 2024 pm 04:39 PM

WordPress網站建立指南:快速建立個人網站隨著數位時代的到來,擁有一個個人網站已經成為了一種時尚和必要。而WordPress作為最受歡迎的網站建立工具,讓建立個人網站變得更容易、更方便。本文將為大家提供一個快速建立個人網站的指南,包含具體的程式碼範例,希望可以幫助到想要擁有自己網站的朋友們。第一步:購買網域和主機在開始建立個人網站之前,首先要購買自己

See all articles