{"id":3898,"date":"2018-10-17T17:28:40","date_gmt":"2018-10-17T17:28:40","guid":{"rendered":"https:\/\/dbtut.com\/?p=3898"},"modified":"2018-11-26T12:55:38","modified_gmt":"2018-11-26T12:55:38","slug":"how-to-fetch-explain-plan","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/","title":{"rendered":"How To Fetch Explain Plan"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Displaying an execution plan is made easy if you use the DBMS_XPLAN package.<\/p>\n<p>This packages provides several PL\/SQL procedures to display the plan from different sources:<\/p>\n<p>\u2022 EXPLAIN PLAN command<br \/>\n\u2022 V$SQL_PLAN<br \/>\n\u2022 Automatic Workload Repository (AWR)<br \/>\n\u2022 SQL Tuning Set (STS)<br \/>\n\u2022 SQL Plan Baseline (SPM)<\/p>\n<p>The following examples illustrate how to generate and display an execution plan for our original SQL statement using the different functions provided in the dbms_xplan package.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Example 1:<\/strong> Uses the EXPLAIN PLAN command and the DBMS_XPLAN.DISPLAY function.<\/p>\n<pre class=\"lang:default decode:true\">SQL&gt; EXPLAIN PLAN FOR\r\nselect prod_category, avg(amount_sold)\r\nfrom sales s, products p\r\nwhere p.prod_id = s.prod_id\r\ngroup by prod_category;<\/pre>\n<p>Explained.<\/p>\n<pre class=\"lang:default decode:true\">SQL&gt; select plan_table_output from table(dbms_xplan.display('plan_table',null,'basic'));<\/pre>\n<p>&nbsp;<\/p>\n<p>The arguments are for DBMS_XPLAN.DISPLAY are:<br \/>\n\u2022 Plan table name (default &#8216;PLAN_TABLE&#8217;)<br \/>\n\u2022 Statement_id (default NULL)<br \/>\n\u2022 Format (default &#8216;TYPICAL&#8217;)<br \/>\nMore details can be found in $ORACLE_HOME\/rdbms\/admin\/dbmsxpln.sql.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Example 2:<\/strong> Generating and displaying the execution plan for the last SQL statement executed in a session:<\/p>\n<pre class=\"lang:default decode:true\">SQL&gt; select prod_category, avg(amount_sold)\r\nfrom sales s, products p\r\nwhere p.prod_id = s.prod_id\r\ngroup by prod_category;\r\n\r\nno rows selected<\/pre>\n<pre class=\"lang:default decode:true\">SQL&gt; select plan_table_output\r\nfrom table(dbms_xplan.display_cursor(null,null,'basic'));\r\n\r\n------------------------------------------\r\nId Operation Name\r\n------------------------------------------\r\n0 SELECT STATEMENT\r\n1 HASH GROUP BY\r\n2 HASH JOIN\r\n3 TABLE ACCESS FULL PRODUCTS\r\n4 PARTITION RANGE ALL\r\n5 TABLE ACCESS FULL SALES\r\n------------------------------------------<\/pre>\n<p>&nbsp;<\/p>\n<p>The arguments used by DBMS_XPLAN.DISPLAY_CURSOR are:<br \/>\n\u2022 SQL ID (default NULL, which means the last SQL statement executed in this session)<br \/>\n\u2022 Child number (default 0)<br \/>\n\u2022 Format (default &#8216;TYPICAL&#8217;)<br \/>\nThe details are in $ORACLE_HOME\/rdbms\/admin\/dbmsxpln.sql.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Example 3:<\/strong> Displaying the execution plan for any other statement requires the SQL ID to be provided, either directly or indirectly:<\/p>\n<p><strong>Directly:<\/strong><\/p>\n<pre class=\"lang:default decode:true\">SQL&gt; select plan_table_output from\r\ntable(dbms_xplan.display_cursor('fnrtqw9c233tt',null,'basic'));<\/pre>\n<p><strong>Indirectly:<\/strong><\/p>\n<pre class=\"lang:default decode:true\">SQL&gt; select plan_table_output\r\nfrom v$sql s,\r\ntable(dbms_xplan.display_cursor(s.sql_id,\r\ns.child_number, 'basic')) t\r\nwhere s.sql_text like 'select PROD_CATEGORY%';<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Example 4:<\/strong> Displaying an execution plan corresponding to a SQL Plan Baseline.<\/p>\n<pre class=\"lang:default decode:true\">SQL&gt; alter session set optimizer_capture_sql_plan_baselines=true;\r\n\r\nSession altered.<\/pre>\n<pre class=\"lang:default decode:true\">SQL&gt; select prod_category, avg(amount_sold)\r\nfrom sales s, products p\r\nwhere p.prod_id = s.prod_id\r\ngroup by prod_category;\r\n\r\nno rows selected<\/pre>\n<p>&nbsp;<\/p>\n<p>If the above statement has been executed more than once, a SQL Plan Baseline will be created for it and you can verified this using the follows query:<\/p>\n<pre class=\"lang:default decode:true\">SQL&gt; select SQL_HANDLE, PLAN_NAME, ACCEPTED\r\nfrom dba_sql_plan_baselines\r\nwhere sql_text like 'select prod_category%';\r\n\r\nSQL_HANDLE                     PLAN_NAME                      ACC\r\n------------------------------ ------------------------------ ---\r\nSYS_SQL_1899bb9331ed7772       SYS_SQL_PLAN_31ed7772f2c7a4c2  YES<\/pre>\n<p>&nbsp;<\/p>\n<h3>The execution plan for the SQL Plan Baseline created above can be displayed either directly or indirectly:<\/h3>\n<p><strong>Directly:<\/strong><\/p>\n<pre class=\"lang:default decode:true \">select t.* from\r\ntable(dbms_xplan.display_sql_plan_baseline('SYS_SQL_1899bb9331ed7772',\r\nformat =&gt; 'basic')) t<\/pre>\n<p><strong>Indirectly:<\/strong><\/p>\n<pre class=\"lang:default decode:true \">select t.*\r\nfrom (select distinct sql_handle\r\nfrom dba_sql_plan_baselines\r\nwhere sql_text like 'select prod_category%') pb,\r\ntable(dbms_xplan.display_sql_plan_baseline(pb.sql_handle,\r\nnull,'basic')) t;<\/pre>\n<p>&nbsp;<\/p>\n<p>The output of either of these two statements is:<\/p>\n<pre class=\"lang:default decode:true\">----------------------------------------------------------------------------\r\nSQL handle: SYS_SQL_1899bb9331ed7772\r\nSQL text: select prod_category, avg(amount_sold) from sales s, products p\r\nwhere p.prod_id = s.prod_id group by prod_category\r\n----------------------------------------------------------------------------\r\n----------------------------------------------------------------------------\r\nPlan name: SYS_SQL_PLAN_31ed7772f2c7a4c2\r\nEnabled: YES Fixed: NO Accepted: YES Origin: AUTO-CAPTURE\r\n----------------------------------------------------------------------------\r\nPlan hash value: 4073170114\r\n---------------------------------------------------------\r\nId Operation Name\r\n---------------------------------------------------------\r\n0 SELECT STATEMENT\r\n1 HASH GROUP BY\r\n2 HASH JOIN\r\n3 VIEW index$_join$_002\r\n4 HASH JOIN\r\n5 INDEX FAST FULL SCAN PRODUCTS_PK\r\n6 INDEX FAST FULL SCAN PRODUCTS_PROD_CAT_IX\r\n7 PARTITION RANGE ALL\r\n8 TABLE ACCESS FULL SALES\r\n---------------------------------------------------------<\/pre>\n<p>&nbsp;<\/p>\n<h3>Formatting<\/h3>\n<p>The format argument is highly customizable and allows you to see as little (high-level) or as much (low-level) details as you need \/ want in the plan output. The high-level options are:<\/p>\n<p><strong>1. Basic<\/strong><br \/>\nThe plan includes the operation, options, and the object name (table, index, MV, etc)<\/p>\n<p><strong>2. Typical<\/strong><br \/>\nIt includes the information shown in BASIC plus additional optimizer-related internal information such as cost, size, cardinality, etc.<\/p>\n<p>These information are shown for every operation in the plan and represents what the optimizer thinks is the operation cost, the number of rows produced, etc.<\/p>\n<p>It also shows the predicates evaluation by the operation. There are two types of predicates: ACCESS and FILTER.<\/p>\n<p>The ACCESS predicates for an index are used to fetch the relevant blocks because they apply to the search columns.<\/p>\n<p>The FILTER predicates are evaluated after the blocks have been fetched.<\/p>\n<p><strong>3. All<\/strong><br \/>\nIt includes the information shown in TYPICAL plus the lists of expressions (columns) produced by every operation, the hint alias and query block names where the operation belongs.<\/p>\n<p>The last two pieces of information can be used as arguments to add hints to the statement.<\/p>\n<p>The low-level options allow the inclusion or exclusion of find details, such as predicates and cost.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>For example:<\/strong><\/p>\n<pre class=\"lang:default decode:true\">select plan_table_output\r\nfrom table(dbms_xplan.display('plan_table',null,'basic +predicate +cost'));\r\n\r\n-------------------------------------------------------\r\nId Operation Name Cost (%CPU)\r\n-------------------------------------------------------\r\n0 SELECT STATEMENT 17 (18)\r\n1 HASH GROUP BY 17 (18)\r\n* 2 HASH JOIN 15 (7)\r\n3 TABLE ACCESS FULL PRODUCTS 9 (0)\r\n4 PARTITION RANGE ALL 5 (0)\r\n5 TABLE ACCESS FULL SALES 5 (0)\r\n-------------------------------------------------------\r\nPredicate Information (identified by operation id):\r\n---------------------------------------------------\r\n2 - access(\"P\".\"PROD_ID\"=\"S\".\"PROD_ID\")\r\n\r\nselect plan_table_output from\r\ntable(dbms_xplan.display('plan_table',null,'typical -cost -bytes'));<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Note Section<\/strong><br \/>\nIn addition to the plan, the package displays notes in the NOTE section, such as that dynamic sampling was used during query optimization or that star transformation was applied to the query.<\/p>\n<p>For example, if the table SALES did not have statistics then the optimizer will use dynamic sampling and the plan display will report it as follows (see s&#8217;+note&#8217; detail in the query):<\/p>\n<pre class=\"lang:default decode:true\">select plan_table_output\r\nfrom table(dbms_xplan.display('plan_table',null,'basic +note'));\r\n\r\n------------------------------------------\r\nId Operation Name\r\n------------------------------------------\r\n0 SELECT STATEMENT\r\n1 HASH GROUP BY\r\n2 HASH JOIN\r\n3 TABLE ACCESS FULL PRODUCTS\r\n4 PARTITION RANGE ALL\r\n5 TABLE ACCESS FULL SALES\r\n------------------------------------------\r\nNote\r\n-----\r\n- dynamic sampling used for this statement<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Bind Peeking<\/strong><br \/>\nThe query optimizer takes into account the values of bind variable values when generation an execution plan.<\/p>\n<p>It does what is generally called bind peeking. See the first post in this blog about the concept of bind peeking and its impact on the plans and the performance of SQL statements.<\/p>\n<p>As stated earlier the plan shown in V$SQL_PLAN takes into account the values of bind variables while the one shown from using EXPLAIN PLAN does not.<\/p>\n<p>The DBMS_XPLAN package allows the display of the bind variable values used to generate a particular cursor\/plan.<\/p>\n<p>This is done by adding &#8216;+peeked_binds&#8217; to the format argument when using display_cursor().<\/p>\n<p>This is illustrated with the following example:<\/p>\n<pre class=\"lang:default decode:true \">variable pcat varchar2(50)\r\nexec :pcat := 'Women'\r\n\r\nselect PROD_CATEGORY, avg(amount_sold)\r\nfrom sales s, products p\r\nwhere p.PROD_ID = s.PROD_ID\r\nand prod_category != :pcat\r\ngroup by PROD_CATEGORY;\r\nselect plan_table_output\r\nfrom table(dbms_xplan.display_cursor(null,null,'basic +PEEKED_BINDS'));\r\n\r\n------------------------------------------\r\nId Operation Name\r\n------------------------------------------\r\n0 SELECT STATEMENT\r\n1 HASH GROUP BY\r\n2 HASH JOIN\r\n3 TABLE ACCESS FULL PRODUCTS\r\n4 PARTITION RANGE ALL\r\n5 TABLE ACCESS FULL SALES\r\n------------------------------------------\r\nPeeked Binds (identified by position):\r\n--------------------------------------\r\n1 - :PCAT (VARCHAR2(30), CSID=2): 'Women'<\/pre>\n\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_3898\" class=\"pvc_stats all  \" data-element-id=\"3898\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Displaying an execution plan is made easy if you use the DBMS_XPLAN package. This packages provides several PL\/SQL procedures to display the plan from different sources: \u2022 EXPLAIN PLAN command \u2022 V$SQL_PLAN \u2022 Automatic Workload Repository (AWR) \u2022 SQL Tuning Set (STS) \u2022 SQL Plan Baseline (SPM) The following examples illustrate how to generate &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_3898\" class=\"pvc_stats all  \" data-element-id=\"3898\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":268,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[4],"tags":[334,1549],"class_list":["post-3898","post","type-post","status-publish","format-standard","","category-oracle","tag-execution-plan","tag-explain-plan"],"aioseo_notices":[],"a3_pvc":{"activated":true,"total_views":825,"today_views":0},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How To Fetch Explain Plan - Database Tutorials<\/title>\n<meta name=\"description\" content=\"How To Fetch Explain Plan\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Fetch Explain Plan - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"How To Fetch Explain Plan\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/smileofficer007\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-17T17:28:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-26T12:55:38+00:00\" \/>\n<meta name=\"author\" content=\"Avinav Chadha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Avinav Chadha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/\"},\"author\":{\"name\":\"Avinav Chadha\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/9bfcf5198cb8a47a7f580df784bed1ee\"},\"headline\":\"How To Fetch Explain Plan\",\"datePublished\":\"2018-10-17T17:28:40+00:00\",\"dateModified\":\"2018-11-26T12:55:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/\"},\"wordCount\":679,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"keywords\":[\"Execution Plan\",\"Explain plan\"],\"articleSection\":[\"ORACLE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/\",\"name\":\"How To Fetch Explain Plan - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"datePublished\":\"2018-10-17T17:28:40+00:00\",\"dateModified\":\"2018-11-26T12:55:38+00:00\",\"description\":\"How To Fetch Explain Plan\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Fetch Explain Plan\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dbtut.com\/#website\",\"url\":\"https:\/\/dbtut.com\/\",\"name\":\"Database Tutorials\",\"description\":\"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux\",\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dbtut.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dbtut.com\/#organization\",\"name\":\"dbtut\",\"url\":\"https:\/\/dbtut.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"width\":223,\"height\":36,\"caption\":\"dbtut\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/9bfcf5198cb8a47a7f580df784bed1ee\",\"name\":\"Avinav Chadha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/71f3b0948a47c097257f55b09d1d76e3f70456c75fa777c33086604902583d6b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/71f3b0948a47c097257f55b09d1d76e3f70456c75fa777c33086604902583d6b?s=96&d=mm&r=g\",\"caption\":\"Avinav Chadha\"},\"description\":\"I have been supporting and managing oracle databases for almost 4 years now.\",\"sameAs\":[\"https:\/\/www.facebook.com\/smileofficer007\"],\"url\":\"https:\/\/dbtut.com\/index.php\/author\/avinavchadha\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How To Fetch Explain Plan - Database Tutorials","description":"How To Fetch Explain Plan","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/","og_locale":"en_US","og_type":"article","og_title":"How To Fetch Explain Plan - Database Tutorials","og_description":"How To Fetch Explain Plan","og_url":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/","og_site_name":"Database Tutorials","article_author":"https:\/\/www.facebook.com\/smileofficer007","article_published_time":"2018-10-17T17:28:40+00:00","article_modified_time":"2018-11-26T12:55:38+00:00","author":"Avinav Chadha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Avinav Chadha","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/"},"author":{"name":"Avinav Chadha","@id":"https:\/\/dbtut.com\/#\/schema\/person\/9bfcf5198cb8a47a7f580df784bed1ee"},"headline":"How To Fetch Explain Plan","datePublished":"2018-10-17T17:28:40+00:00","dateModified":"2018-11-26T12:55:38+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/"},"wordCount":679,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"keywords":["Execution Plan","Explain plan"],"articleSection":["ORACLE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/","url":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/","name":"How To Fetch Explain Plan - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"datePublished":"2018-10-17T17:28:40+00:00","dateModified":"2018-11-26T12:55:38+00:00","description":"How To Fetch Explain Plan","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2018\/10\/17\/how-to-fetch-explain-plan\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"How To Fetch Explain Plan"}]},{"@type":"WebSite","@id":"https:\/\/dbtut.com\/#website","url":"https:\/\/dbtut.com\/","name":"Database Tutorials","description":"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux","publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dbtut.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dbtut.com\/#organization","name":"dbtut","url":"https:\/\/dbtut.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","width":223,"height":36,"caption":"dbtut"},"image":{"@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dbtut.com\/#\/schema\/person\/9bfcf5198cb8a47a7f580df784bed1ee","name":"Avinav Chadha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/71f3b0948a47c097257f55b09d1d76e3f70456c75fa777c33086604902583d6b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/71f3b0948a47c097257f55b09d1d76e3f70456c75fa777c33086604902583d6b?s=96&d=mm&r=g","caption":"Avinav Chadha"},"description":"I have been supporting and managing oracle databases for almost 4 years now.","sameAs":["https:\/\/www.facebook.com\/smileofficer007"],"url":"https:\/\/dbtut.com\/index.php\/author\/avinavchadha\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/3898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/users\/268"}],"replies":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/comments?post=3898"}],"version-history":[{"count":0,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/3898\/revisions"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=3898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=3898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=3898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}