如何快速得到真实的执行计划
准备工作: 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');
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.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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 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

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! 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. 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

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

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

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.
