Heim Datenbank MySQL-Tutorial 如何快速得到真实的执行计划

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

Jun 07, 2016 pm 04:04 PM
create 准备工作 如何 快速 执行 Wirklichkeit 计划

准备工作: 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');
Nach dem Login kopieren
通常我们对于执行时间很长的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.
Nach dem Login kopieren

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

真实的执行计划就是已经执行的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.
Nach dem Login kopieren
这样就快速从内存中到了真实的执行计划

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Python-Skript, das alle 5 Minuten ausgeführt wird Python-Skript, das alle 5 Minuten ausgeführt wird Sep 10, 2023 pm 03:33 PM

Automatisierung und Aufgabenplanung spielen eine entscheidende Rolle bei der Rationalisierung wiederkehrender Aufgaben in der Softwareentwicklung. Stellen Sie sich vor, es gibt ein Python-Skript, das alle 5 Minuten ausgeführt werden muss, beispielsweise um Daten von einer API abzurufen, eine Datenverarbeitung durchzuführen oder regelmäßige Aktualisierungen zu senden. Das häufige manuelle Ausführen von Skripten kann zeitaufwändig und fehleranfällig sein. Hier kommt die Aufgabenplanung ins Spiel. In diesem Blogbeitrag erfahren Sie, wie Sie ein Python-Skript so planen, dass es alle 5 Minuten ausgeführt wird, um sicherzustellen, dass es automatisch und ohne manuelles Eingreifen ausgeführt wird. Wir besprechen verschiedene Methoden und Bibliotheken, mit denen Sie dieses Ziel erreichen und Aufgaben effizient automatisieren können. Eine einfache Möglichkeit, mit der Funktion time.sleep() alle 5 Minuten ein Python-Skript auszuführen, ist die Verwendung von tim

So verwenden Sie Python für die Skripterstellung und Ausführung unter Linux So verwenden Sie Python für die Skripterstellung und Ausführung unter Linux Oct 05, 2023 am 11:45 AM

So verwenden Sie Python zum Schreiben und Ausführen von Skripten unter Linux. Im Linux-Betriebssystem können wir Python zum Schreiben und Ausführen verschiedener Skripte verwenden. Python ist eine prägnante und leistungsstarke Programmiersprache, die eine Fülle von Bibliotheken und Tools bereitstellt, um die Skripterstellung einfacher und effizienter zu machen. Im Folgenden stellen wir die grundlegenden Schritte zur Verwendung von Python zum Schreiben und Ausführen von Skripten unter Linux vor und stellen einige spezifische Codebeispiele bereit, die Ihnen helfen, es besser zu verstehen und zu verwenden. Installieren Sie Python

Verstehen Sie die Unterschiede und Vergleiche zwischen SpringBoot und SpringMVC Verstehen Sie die Unterschiede und Vergleiche zwischen SpringBoot und SpringMVC Dec 29, 2023 am 09:20 AM

Vergleichen Sie SpringBoot und SpringMVC und verstehen Sie deren Unterschiede. Mit der kontinuierlichen Weiterentwicklung der Java-Entwicklung ist das Spring-Framework für viele Entwickler und Unternehmen zur ersten Wahl geworden. Im Spring-Ökosystem sind SpringBoot und SpringMVC zwei sehr wichtige Komponenten. Obwohl beide auf dem Spring-Framework basieren, gibt es einige Unterschiede in Funktionen und Verwendung. Dieser Artikel konzentriert sich auf den Vergleich von SpringBoot und Spring

Was ist der Unterschied im Pfad „Arbeitsplatz' in Win11? Schneller Weg, es zu finden! Was ist der Unterschied im Pfad „Arbeitsplatz' in Win11? Schneller Weg, es zu finden! Mar 29, 2024 pm 12:33 PM

Was ist der Unterschied im Pfad „Arbeitsplatz“ in Win11? Schneller Weg, es zu finden! Da das Windows-System ständig aktualisiert wird, bringt auch das neueste Windows 11-System einige neue Änderungen und Funktionen mit sich. Eines der häufigsten Probleme besteht darin, dass Benutzer den Pfad zu „Arbeitsplatz“ im Win11-System nicht finden können. Dies war in früheren Windows-Systemen normalerweise ein einfacher Vorgang. In diesem Artikel erfahren Sie, wie sich der Pfad „Arbeitsplatz“ im Win11-System unterscheidet und wie Sie ihn schnell finden. Unter Windows1

Leitfaden zum Erstellen von WordPress-Websites: Erstellen Sie schnell eine persönliche Website Leitfaden zum Erstellen von WordPress-Websites: Erstellen Sie schnell eine persönliche Website Mar 04, 2024 pm 04:39 PM

Leitfaden zum Erstellen von WordPress-Websites: Erstellen Sie schnell eine persönliche Website. Mit dem Aufkommen des digitalen Zeitalters ist eine persönliche Website in Mode gekommen und notwendig geworden. Als beliebtestes Tool zum Erstellen von Websites macht WordPress die Erstellung einer persönlichen Website einfacher und bequemer. Dieser Artikel bietet Ihnen eine Anleitung zum schnellen Erstellen einer persönlichen Website, einschließlich spezifischer Codebeispiele. Ich hoffe, er kann Freunden helfen, die eine eigene Website haben möchten. Schritt 1: Erwerben Sie einen Domainnamen und ein Hosting. Bevor Sie mit der Erstellung einer persönlichen Website beginnen, müssen Sie zunächst Ihre eigene erwerben

Lebenszyklusfunktionen in Vue3: Beherrschen Sie schnell den Lebenszyklus von Vue3 Lebenszyklusfunktionen in Vue3: Beherrschen Sie schnell den Lebenszyklus von Vue3 Jun 18, 2023 am 08:20 AM

Vue3 ist derzeit eines der beliebtesten Frameworks in der Front-End-Welt, und die Lebenszyklusfunktion von Vue3 ist ein sehr wichtiger Teil von Vue3. Die Lebenszyklusfunktion von Vue3 ermöglicht es uns, bestimmte Ereignisse zu bestimmten Zeiten auszulösen und so den hohen Grad der Steuerbarkeit von Komponenten zu verbessern. In diesem Artikel werden die Grundkonzepte der Lebenszyklusfunktionen von Vue3, die Rollen und Verwendung jeder Lebenszyklusfunktion sowie Implementierungsfälle im Detail untersucht und erläutert, um den Lesern zu helfen, die Lebenszyklusfunktionen von Vue3 schnell zu beherrschen. 1. Die Lebenszyklusfunktion von Vue3

Das Win11-Vorschauprogramm kann nicht beendet werden Das Win11-Vorschauprogramm kann nicht beendet werden Jun 29, 2023 pm 12:04 PM

Kann das Win11-Vorschauprogramm nicht beendet werden? Wenn wir das Win11-System verwenden, wird das Win11-Vorschauprogramm für uns gestartet. Einige Freunde möchten dieses Vorschauprogramm jedoch nicht verwenden So beenden Sie den Editor unten. Wir haben eine Anleitung zum Beenden des Win11-Vorschau-Erlebnisprogramms zusammengestellt. Wenn Sie interessiert sind, werfen wir einen Blick darauf! Tutorial-Anleitung zum Beenden des Win11 Insider-Programms 1. Drücken Sie zunächst die Tastenkombination „win+i“, um die Windows-Einstellungen aufzurufen, und klicken Sie auf „Update und Sicherheit“. 2. Klicken Sie dann in der linken Taskleiste auf „Windows Insider-Programm“, wie in der Abbildung gezeigt. 3. An dieser Stelle sehen Sie rechts das Erlebnis

Das Huawei P70 startet direkt den Pioneer-Plan und ist offiziell im Verkauf Das Huawei P70 startet direkt den Pioneer-Plan und ist offiziell im Verkauf Apr 19, 2024 pm 01:58 PM

Zhongguancun News: Am Morgen des 18. April gab Huawei plötzlich bekannt, dass die Mobiltelefone der P70-Serie offiziell im Rahmen des Pioneer-Plans erhältlich sind. Freunde, die kaufen möchten, sollten bereit sein, Maßnahmen zu ergreifen sind sehr beliebt und immer ausverkauft. Diesmal wurde die Huawei P70-Serie in Pura umbenannt, was pur bedeutet. Zuvor sagte Yu Chengdong von Huawei: „Seit 2012 sind die Smartphones der P-Serie von Huawei wie treue Partner, die Hunderte Millionen Nutzer auf der ganzen Welt dabei begleiten, unzählige wertvolle Momente zu verbringen und gemeinsam die Schönheit und Aufregung des Lebens zu erleben.“ Er war der festen Überzeugung, dass das Vertrauen und die Liebe, die jeder Benutzer entgegenbringt, der sich für die P-Serie von Huawei entscheidet, einer starken treibenden Kraft gleichkommt, die Huawei stets dazu inspiriert, den Weg der Innovation konsequent voranzutreiben. Pura bedeutet rein.

See all articles