Rumah pangkalan data tutorial mysql 如何快速得到真实的执行计划

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

Jun 07, 2016 pm 04:04 PM
create Persediaan bagaimana cepat melaksanakan realiti rancangan

准备工作: 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');
Salin selepas log masuk
通常我们对于执行时间很长的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.
Salin selepas log masuk

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

真实的执行计划就是已经执行的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.
Salin selepas log masuk
这样就快速从内存中到了真实的执行计划

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Skrip Python akan dilaksanakan setiap 5 minit Skrip Python akan dilaksanakan setiap 5 minit Sep 10, 2023 pm 03:33 PM

Automasi dan penjadualan tugas memainkan peranan penting dalam menyelaraskan tugasan berulang dalam pembangunan perisian. Bayangkan terdapat skrip Python yang perlu dilaksanakan setiap 5 minit, seperti mendapatkan data daripada API, melakukan pemprosesan data atau menghantar kemas kini berkala. Menjalankan skrip secara manual dengan kerap boleh memakan masa dan terdedah kepada ralat. Di sinilah penjadualan tugas masuk. Dalam catatan blog ini, kami akan meneroka cara menjadualkan skrip Python untuk dilaksanakan setiap 5 minit, memastikan ia berjalan secara automatik tanpa campur tangan manual. Kami akan membincangkan kaedah dan perpustakaan berbeza yang boleh digunakan untuk mencapai matlamat ini, membolehkan anda mengautomasikan tugas dengan cekap. Cara mudah untuk menjalankan skrip Python setiap 5 minit menggunakan fungsi time.sleep() ialah menggunakan tim

Cara menggunakan Python untuk skrip dan pelaksanaan di Linux Cara menggunakan Python untuk skrip dan pelaksanaan di Linux Oct 05, 2023 am 11:45 AM

Cara menggunakan Python untuk menulis dan melaksanakan skrip dalam Linux Dalam sistem pengendalian Linux, kita boleh menggunakan Python untuk menulis dan melaksanakan pelbagai skrip. Python ialah bahasa pengaturcaraan ringkas dan berkuasa yang menyediakan banyak perpustakaan dan alatan untuk menjadikan skrip lebih mudah dan lebih cekap. Di bawah ini kami akan memperkenalkan langkah asas cara menggunakan Python untuk penulisan dan pelaksanaan skrip dalam Linux, dan menyediakan beberapa contoh kod khusus untuk membantu anda memahami dan menggunakannya dengan lebih baik. Pasang Python

Fahami perbezaan dan perbandingan antara SpringBoot dan SpringMVC Fahami perbezaan dan perbandingan antara SpringBoot dan SpringMVC Dec 29, 2023 am 09:20 AM

Bandingkan SpringBoot dan SpringMVC dan fahami perbezaannya Dengan pembangunan Java yang berterusan, rangka kerja Spring telah menjadi pilihan pertama bagi banyak pembangun dan perusahaan. Dalam ekosistem Spring, SpringBoot dan SpringMVC ialah dua komponen yang sangat penting. Walaupun kedua-duanya adalah berdasarkan rangka kerja Spring, terdapat beberapa perbezaan dalam fungsi dan penggunaan. Artikel ini akan menumpukan pada membandingkan SpringBoot dan Spring

Apakah perbezaan dalam laluan 'Komputer Saya' dalam Win11? Cara cepat untuk mencarinya! Apakah perbezaan dalam laluan 'Komputer Saya' dalam Win11? Cara cepat untuk mencarinya! Mar 29, 2024 pm 12:33 PM

Apakah perbezaan dalam laluan "Komputer Saya" dalam Win11? Cara cepat untuk mencarinya! Memandangkan sistem Windows sentiasa dikemas kini, sistem Windows 11 terkini turut membawakan beberapa perubahan dan fungsi baharu. Salah satu masalah biasa ialah pengguna tidak dapat mencari laluan ke "Komputer Saya" dalam sistem Win11 Ini biasanya merupakan operasi mudah dalam sistem Windows sebelumnya. Artikel ini akan memperkenalkan cara laluan "Komputer Saya" berbeza dalam sistem Win11, dan cara mencarinya dengan cepat. Dalam Windows1

Fungsi kitar hayat dalam Vue3: Kuasai kitaran hayat Vue3 dengan cepat Fungsi kitar hayat dalam Vue3: Kuasai kitaran hayat Vue3 dengan cepat Jun 18, 2023 am 08:20 AM

Vue3 kini merupakan salah satu rangka kerja paling popular di dunia hadapan, dan fungsi kitaran hayat Vue3 ialah bahagian yang sangat penting dalam Vue3. Fungsi kitaran hayat Vue3 membolehkan kami mencetuskan peristiwa tertentu pada masa tertentu, meningkatkan tahap kebolehkawalan komponen yang tinggi. Artikel ini akan meneroka dan menerangkan secara terperinci konsep asas fungsi kitaran hayat Vue3, peranan dan penggunaan setiap fungsi kitaran hayat dan kes pelaksanaan, untuk membantu pembaca menguasai fungsi kitaran hayat Vue3 dengan cepat. 1. Fungsi kitaran hayat Vue3

Panduan Membina Laman Web WordPress: Membina Laman Web Peribadi dengan Cepat Panduan Membina Laman Web WordPress: Membina Laman Web Peribadi dengan Cepat Mar 04, 2024 pm 04:39 PM

Panduan Membina Laman Web WordPress: Cepat Membina Laman Web Peribadi Dengan kemunculan era digital, mempunyai laman web peribadi telah menjadi bergaya dan perlu. Sebagai alat pembinaan laman web yang paling popular, WordPress menjadikannya lebih mudah dan lebih mudah untuk membina tapak web peribadi. Artikel ini akan memberi anda panduan untuk membina laman web peribadi dengan cepat, termasuk contoh kod khusus, saya harap ia dapat membantu rakan-rakan yang ingin memiliki tapak web mereka sendiri. Langkah 1: Beli nama domain dan pengehosan Sebelum mula membina tapak web peribadi, anda mesti membeli sendiri

Huawei P70 memulakan Pelan Perintis secara langsung dan dijual secara rasmi Huawei P70 memulakan Pelan Perintis secara langsung dan dijual secara rasmi Apr 19, 2024 pm 01:58 PM

Berita Zhongguancun: Pada pagi 18 April, Huawei secara tiba-tiba mengumumkan bahawa telefon mudah alih siri P70 dijual secara rasmi di bawah Pelan Perintis yang ingin membeli harus bersedia untuk mengambil tindakan, telefon bimbit unggulan Huawei sangat popular dan akan sentiasa kehabisan stok. Kali ini siri Huawei P70 telah dinamakan semula sebagai Pura, yang bermaksud tulen. Sebelum ini, Yu Chengdong dari Huawei berkata: Sejak 2012, telefon pintar siri P Huawei seperti rakan kongsi setia, menemani ratusan juta pengguna di seluruh dunia untuk menghabiskan detik-detik berharga yang tidak terkira banyaknya dan bersama-sama menyaksikan keindahan dan keseronokan hidup. Beliau amat merasakan bahawa kepercayaan dan kasih sayang yang diberikan oleh setiap pengguna yang memilih siri P Huawei adalah sama dengan daya penggerak yang kuat, sentiasa memberi inspirasi kepada Huawei untuk bergerak maju dengan teguh di atas jalan inovasi. Pura bermaksud suci.

Tidak boleh keluar dari program pratonton win11 Tidak boleh keluar dari program pratonton win11 Jun 29, 2023 pm 12:04 PM

Tidak boleh keluar dari program pratonton win11? Apabila kita menggunakan sistem win11, program pratonton win11 akan dilancarkan pada komputer untuk kita gunakan Namun, ada rakan-rakan yang tidak mahu menggunakan program pratonton ini bagaimana untuk keluar, editor di bawah Kami telah menyusun panduan tutorial untuk keluar dari Program Pengalaman Dalam Win11 Jika anda berminat, mari lihat di bawah! Panduan tutorial untuk keluar dari Program Win11 Insider 1. Mula-mula tekan kekunci pintasan "win+i" untuk memasuki Tetapan Windows dan klik "Kemas Kini dan Keselamatan". 2. Kemudian klik "Program Windows Insider" dalam bar tugas kiri, seperti yang ditunjukkan dalam rajah. 3. Pada ketika ini anda boleh melihat pengalaman di sebelah kanan

See all articles