<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: EXPLAIN EXTENDED can tell you all kinds of interesting things</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/</link>
	<description>Percona&#039;s MySQL &#38; InnoDB performance and scalability blog</description>
	<lastBuildDate>Sat, 11 Feb 2012 16:45:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Shantanu Oak</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/comment-page-1/#comment-770884</link>
		<dc:creator>Shantanu Oak</dc:creator>
		<pubDate>Sat, 07 Aug 2010 13:22:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2508#comment-770884</guid>
		<description>I use explain extended to know the table name that the column belongs. I lot of programmers do not mention the table alias before the column name in the query, if the column name is unique. I find it easy to use extended to know the table name.</description>
		<content:encoded><![CDATA[<p>I use explain extended to know the table name that the column belongs. I lot of programmers do not mention the table alias before the column name in the query, if the column name is unique. I find it easy to use extended to know the table name.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: daveyhook</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/comment-page-1/#comment-768141</link>
		<dc:creator>daveyhook</dc:creator>
		<pubDate>Wed, 30 Jun 2010 07:40:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2508#comment-768141</guid>
		<description>Hi Peter,
It seems that a &#039;const&#039; table contains no rows may be used in an OUTER JOIN in newer version.

mysql&gt; EXPLAIN extended SELECT j1.c1 FROM j1, j2, j3 WHERE j1.c1 = j2.c1 AND j3.c1 = j1.c1;
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
&#124; id &#124; select_type &#124; table &#124; type &#124; possible_keys &#124; key  &#124; key_len &#124; ref  &#124; rows &#124; Extra                                               &#124;
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
&#124;  1 &#124; SIMPLE      &#124; NULL  &#124; NULL &#124; NULL          &#124; NULL &#124; NULL    &#124; NULL &#124; NULL &#124; Impossible WHERE noticed after reading const tables &#124; 
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
1 row in set, 1 warning (0.01 sec)

mysql&gt; show warnings;
+-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
&#124; Level &#124; Code &#124; Message                                                                                                                                                                    &#124;
+-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
&#124; Note  &#124; 1003 &#124; select `test`.`j1`.`c1` AS `c1` from `test`.`j1` join `test`.`j2` join `test`.`j3` where ((`test`.`j2`.`c1` = `test`.`j1`.`c1`) and (`test`.`j3`.`c1` = `test`.`j1`.`c1`)) &#124; 
+-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql&gt; select version();
+----------------+
&#124; version()      &#124;
+----------------+
&#124; 5.0.26-max-log &#124; 
+----------------+
1 row in set (0.00 sec)</description>
		<content:encoded><![CDATA[<p>Hi Peter,<br />
It seems that a &#8216;const&#8217; table contains no rows may be used in an OUTER JOIN in newer version.</p>
<p>mysql&gt; EXPLAIN extended SELECT j1.c1 FROM j1, j2, j3 WHERE j1.c1 = j2.c1 AND j3.c1 = j1.c1;<br />
+&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra                                               |<br />
+&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
|  1 | SIMPLE      | NULL  | NULL | NULL          | NULL | NULL    | NULL | NULL | Impossible WHERE noticed after reading const tables |<br />
+&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
1 row in set, 1 warning (0.01 sec)</p>
<p>mysql&gt; show warnings;<br />
+&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| Level | Code | Message                                                                                                                                                                    |<br />
+&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| Note  | 1003 | select `test`.`j1`.`c1` AS `c1` from `test`.`j1` join `test`.`j2` join `test`.`j3` where ((`test`.`j2`.`c1` = `test`.`j1`.`c1`) and (`test`.`j3`.`c1` = `test`.`j1`.`c1`)) |<br />
+&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
1 row in set (0.00 sec)</p>
<p>mysql&gt; select version();<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| version()      |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| 5.0.26-max-log |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
1 row in set (0.00 sec)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shane Bester</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/comment-page-1/#comment-767315</link>
		<dc:creator>Shane Bester</dc:creator>
		<pubDate>Fri, 18 Jun 2010 06:18:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2508#comment-767315</guid>
		<description>Oh yes, I forgot to mention explain extended is very unstable and will crash server for certain queries.. put [ site:bugs.mysql.com &quot;explain extended&quot; crash ] into google for proof :)  be careful!</description>
		<content:encoded><![CDATA[<p>Oh yes, I forgot to mention explain extended is very unstable and will crash server for certain queries.. put [ site:bugs.mysql.com "explain extended" crash ] into google for proof <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   be careful!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Rudy Jacobs</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/comment-page-1/#comment-767294</link>
		<dc:creator>Matthew Rudy Jacobs</dc:creator>
		<pubDate>Fri, 18 Jun 2010 03:23:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2508#comment-767294</guid>
		<description>I remember when &quot;EXPLAIN EXTENDED&quot; crashed our DB
:s</description>
		<content:encoded><![CDATA[<p>I remember when &#8220;EXPLAIN EXTENDED&#8221; crashed our DB<br />
:s</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Swanhart</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/comment-page-1/#comment-767194</link>
		<dc:creator>Justin Swanhart</dc:creator>
		<pubDate>Wed, 16 Jun 2010 21:25:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2508#comment-767194</guid>
		<description>Hi Shane,

Thanks for the tip.</description>
		<content:encoded><![CDATA[<p>Hi Shane,</p>
<p>Thanks for the tip.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/comment-page-1/#comment-767175</link>
		<dc:creator>Bill</dc:creator>
		<pubDate>Wed, 16 Jun 2010 18:08:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2508#comment-767175</guid>
		<description>I&#039;ve been using MySQL for a long time, before 4.1, I&#039;m a little embarrassed I never knew this existed.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been using MySQL for a long time, before 4.1, I&#8217;m a little embarrassed I never knew this existed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shane Bester</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/explain-extended-can-tell-you-all-kinds-of-interesting-things/comment-page-1/#comment-767141</link>
		<dc:creator>Shane Bester</dc:creator>
		<pubDate>Wed, 16 Jun 2010 08:46:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2508#comment-767141</guid>
		<description>My favourite use of explain extended is to check if optimizer doesn&#039;t use indexes due to conversions of charsets.  For example it&#039;ll show something like this:

SELECT ... where (`b`.`t1`.`a` = convert(`b`.`t2`.`b` using utf8))

Sometimes when tables are temporary or created as result of some queries, it&#039;s
not always obvious what their schemas are :)</description>
		<content:encoded><![CDATA[<p>My favourite use of explain extended is to check if optimizer doesn&#8217;t use indexes due to conversions of charsets.  For example it&#8217;ll show something like this:</p>
<p>SELECT &#8230; where (`b`.`t1`.`a` = convert(`b`.`t2`.`b` using utf8))</p>
<p>Sometimes when tables are temporary or created as result of some queries, it&#8217;s<br />
not always obvious what their schemas are <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

