<?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: ANALYZE:  MyISAM vs Innodb</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/</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: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-770783</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Fri, 06 Aug 2010 00:16:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-770783</guid>
		<description>Brian,

Thanks for info. I have not seen this being the problem so far though it may be good thing to be fixed.  There is a lot which can/should be changed about how Innodb computes stats.</description>
		<content:encoded><![CDATA[<p>Brian,</p>
<p>Thanks for info. I have not seen this being the problem so far though it may be good thing to be fixed.  There is a lot which can/should be changed about how Innodb computes stats.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: http://krow.livejournal.com/</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-770780</link>
		<dc:creator>http://krow.livejournal.com/</dc:creator>
		<pubDate>Thu, 05 Aug 2010 23:20:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-770780</guid>
		<description>re: locks. I just read through MySQL source. It looks like MyISAM may be acquiring additional locks which is why it is safe for it. I don&#039;t still see where Innodb is doing anything global like MyISAM is.</description>
		<content:encoded><![CDATA[<p>re: locks. I just read through MySQL source. It looks like MyISAM may be acquiring additional locks which is why it is safe for it. I don&#8217;t still see where Innodb is doing anything global like MyISAM is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: http://krow.livejournal.com/</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-770775</link>
		<dc:creator>http://krow.livejournal.com/</dc:creator>
		<pubDate>Thu, 05 Aug 2010 22:30:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-770775</guid>
		<description>Hi Peter,

I just happened to run across this while looking at a bug in MyISAM. I&#039;ve not checked out the behavior in MySQL (so I could be wrong), but it looks like Innodb only updates the current table and not the global share (like MyISAM does).  So analyze may be a local only modifier for the current session for Innodb. I&#039;ve noticed that both PBXT and MyISAM update the global, though since the optimizer never takes a lock on the share (ie the table definition) there is a remote chance that they values may be @$#@#$. I don&#039;t believe there is any later &quot;magic&quot; that occurs that closed the table and replaces the global values in a way to protect the variables, but I could be wrong.

If you are curious about the code look at ha_innodb.cc and search for HA_STATUS_CONST. Closing and reopening all &quot;Handler&quot; on the table will also cause this to be recalculated.

Cheers,
   -Brian</description>
		<content:encoded><![CDATA[<p>Hi Peter,</p>
<p>I just happened to run across this while looking at a bug in MyISAM. I&#8217;ve not checked out the behavior in MySQL (so I could be wrong), but it looks like Innodb only updates the current table and not the global share (like MyISAM does).  So analyze may be a local only modifier for the current session for Innodb. I&#8217;ve noticed that both PBXT and MyISAM update the global, though since the optimizer never takes a lock on the share (ie the table definition) there is a remote chance that they values may be @$#@#$. I don&#8217;t believe there is any later &#8220;magic&#8221; that occurs that closed the table and replaces the global values in a way to protect the variables, but I could be wrong.</p>
<p>If you are curious about the code look at ha_innodb.cc and search for HA_STATUS_CONST. Closing and reopening all &#8220;Handler&#8221; on the table will also cause this to be recalculated.</p>
<p>Cheers,<br />
   -Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dor</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-520883</link>
		<dc:creator>Dor</dc:creator>
		<pubDate>Fri, 27 Mar 2009 12:38:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-520883</guid>
		<description>Hi peter,

Each one of the queries that are displayed in this page has a specific display format which includes the query itself, the result set (neatly separated with stripped lines) &amp; the time it took to execute.

How did you do that?
I see this query-display-format in many developers websites.
It seems that you use an SQL tools for that.

Thanks in advance,
Dor.</description>
		<content:encoded><![CDATA[<p>Hi peter,</p>
<p>Each one of the queries that are displayed in this page has a specific display format which includes the query itself, the result set (neatly separated with stripped lines) &amp; the time it took to execute.</p>
<p>How did you do that?<br />
I see this query-display-format in many developers websites.<br />
It seems that you use an SQL tools for that.</p>
<p>Thanks in advance,<br />
Dor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gunnar</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-392180</link>
		<dc:creator>Gunnar</dc:creator>
		<pubDate>Wed, 26 Nov 2008 08:13:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-392180</guid>
		<description>Hi Peter,

I fully agree with you.
I&#039;ve faced the same problem at a customer.

When the customer switched from MyISAM to InnoDb some queries that before took &gt; 1 sec now took several minutes.
The reason we slightly wrong stats in the innodb analyse which made the optimizer create tabsolutely wrong query plans.

All these queries could be fixed with manually hinting with STRAIGHT_JOIN or FORCE INDEX.

But of course it would have been much nicer if the stats would be correct on inno.

Did you file a bug for this already?</description>
		<content:encoded><![CDATA[<p>Hi Peter,</p>
<p>I fully agree with you.<br />
I&#8217;ve faced the same problem at a customer.</p>
<p>When the customer switched from MyISAM to InnoDb some queries that before took &gt; 1 sec now took several minutes.<br />
The reason we slightly wrong stats in the innodb analyse which made the optimizer create tabsolutely wrong query plans.</p>
<p>All these queries could be fixed with manually hinting with STRAIGHT_JOIN or FORCE INDEX.</p>
<p>But of course it would have been much nicer if the stats would be correct on inno.</p>
<p>Did you file a bug for this already?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-351837</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Thu, 04 Sep 2008 17:32:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-351837</guid>
		<description>StephaneC,

Well Analyze for Innodb can be helpful... It gives you cardinalities which are at least show the order of magnitude for cardinality which can help certain join queries.

The OPTIMIZE TABLE... this is good to have for Innodb in theory but in practice because this rebuilds the whole table it is most typically too slow to be useful.  There are cases when OPTIMIZE takes weeks to complete.   Plus because it builds indexes via &quot;inserts&quot; it does not really optimize things as well as it could.  And the table will be read only for the whole duration :)

MySQL 5.1 Innodb plugin can build indexes faster but you need to do particular way of dump and reload to get benefit of this fast load.</description>
		<content:encoded><![CDATA[<p>StephaneC,</p>
<p>Well Analyze for Innodb can be helpful&#8230; It gives you cardinalities which are at least show the order of magnitude for cardinality which can help certain join queries.</p>
<p>The OPTIMIZE TABLE&#8230; this is good to have for Innodb in theory but in practice because this rebuilds the whole table it is most typically too slow to be useful.  There are cases when OPTIMIZE takes weeks to complete.   Plus because it builds indexes via &#8220;inserts&#8221; it does not really optimize things as well as it could.  And the table will be read only for the whole duration <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>MySQL 5.1 Innodb plugin can build indexes faster but you need to do particular way of dump and reload to get benefit of this fast load.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: StephaneC</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-351756</link>
		<dc:creator>StephaneC</dc:creator>
		<pubDate>Thu, 04 Sep 2008 08:52:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-351756</guid>
		<description>So we can conclude from your tests that ANALYZE TABLE on InnoDB tables is useless. We&#039;d better only use OPTIMIZE TABLE to defragment the tables (and this will also update index statistics as OPTIMIZE is mapped to ALTER TABLE).
Am I right or can we imagine situations where ANALYZE TABLE will be helpful with InnoDB ?</description>
		<content:encoded><![CDATA[<p>So we can conclude from your tests that ANALYZE TABLE on InnoDB tables is useless. We&#8217;d better only use OPTIMIZE TABLE to defragment the tables (and this will also update index statistics as OPTIMIZE is mapped to ALTER TABLE).<br />
Am I right or can we imagine situations where ANALYZE TABLE will be helpful with InnoDB ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julien</title>
		<link>http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/comment-page-1/#comment-351666</link>
		<dc:creator>Julien</dc:creator>
		<pubDate>Thu, 04 Sep 2008 00:13:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=485#comment-351666</guid>
		<description>Wow ! 

You&#039;ve made my day ! Thanks a lot for those informations/tests.</description>
		<content:encoded><![CDATA[<p>Wow ! </p>
<p>You&#8217;ve made my day ! Thanks a lot for those informations/tests.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

