<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DBA survival BLOG &#187; MySQL</title>
	<atom:link href="http://www.ludovicocaldara.net/dba/tag/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ludovicocaldara.net/dba</link>
	<description>Keep DBA job simple. Thanks.</description>
	<lastBuildDate>Thu, 27 Aug 2009 13:58:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JBoss Portal and MySQL scalability: What The&#8230;???</title>
		<link>http://www.ludovicocaldara.net/dba/jboss-portal-and-mysql-scalability/</link>
		<comments>http://www.ludovicocaldara.net/dba/jboss-portal-and-mysql-scalability/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 22:06:33 +0000</pubDate>
		<dc:creator>Ludovico</dc:creator>
				<category><![CDATA[JBoss]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Portal]]></category>

		<guid isPermaLink="false">http://www.ludovicocaldara.net/dba/?p=33</guid>
		<description><![CDATA[I found several queries running on a MySQL 5.0 database like this one:

SELECT PATH, NAME FROM JBP_OBJECT_NODE  WHERE PK IN &#40;
SELECT NODE_KEY FROM JBP_OBJECT_NODE_SEC WHERE ROLE IN &#40;
SELECT jr.jbp_name FROM jbp_users ju, jbp_role_membership jrm,
jbp_roles jr
WHERE jrm.jbp_uid = ju.jbp_uid
AND jr.jbp_rid = jrm.jbp_rid
AND ju.jbp_uname = 'LUDOVICO'
AND ju.jbp_enabled = 1&#41;&#41;;

This query is related to JBoss Portal and does [...]]]></description>
			<content:encoded><![CDATA[<p>I found several queries running on a MySQL 5.0 database like this one:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> PATH<span style="color: #66cc66;">,</span> NAME <span style="color: #993333; font-weight: bold;">FROM</span> JBP_OBJECT_NODE  <span style="color: #993333; font-weight: bold;">WHERE</span> PK <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> NODE_KEY <span style="color: #993333; font-weight: bold;">FROM</span> JBP_OBJECT_NODE_SEC <span style="color: #993333; font-weight: bold;">WHERE</span> ROLE <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> jr<span style="color: #66cc66;">.</span>jbp_name <span style="color: #993333; font-weight: bold;">FROM</span> jbp_users ju<span style="color: #66cc66;">,</span> jbp_role_membership jrm<span style="color: #66cc66;">,</span>
jbp_roles jr
<span style="color: #993333; font-weight: bold;">WHERE</span> jrm<span style="color: #66cc66;">.</span>jbp_uid <span style="color: #66cc66;">=</span> ju<span style="color: #66cc66;">.</span>jbp_uid
<span style="color: #993333; font-weight: bold;">AND</span> jr<span style="color: #66cc66;">.</span>jbp_rid <span style="color: #66cc66;">=</span> jrm<span style="color: #66cc66;">.</span>jbp_rid
<span style="color: #993333; font-weight: bold;">AND</span> ju<span style="color: #66cc66;">.</span>jbp_uname <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'LUDOVICO'</span>
<span style="color: #993333; font-weight: bold;">AND</span> ju<span style="color: #66cc66;">.</span>jbp_enabled <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>This query is related to JBoss Portal and does a full scan on table JBP_OBJECT_NODE.</p>
<p>It has bad performances (&gt;0.8 sec) with just a few records:</p>
<p>mysql&gt; select count(*) from JBP_OBJECT_NODE;<br />
+&#8212;&#8212;&#8212;-+<br />
| count(*) |<br />
+&#8212;&#8212;&#8212;-+<br />
|    33461 |<br />
+&#8212;&#8212;&#8212;-+</p>
<p>If I rewrite the query using an inner join (à la Oracle, please forgive me) instead of a subquery I get an index scan:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">DISTINCT</span> a<span style="color: #66cc66;">.</span>PATH<span style="color: #66cc66;">,</span> a<span style="color: #66cc66;">.</span>NAME <span style="color: #808080; font-style: italic;">/* , b.NODE_KEY */</span> <span style="color: #993333; font-weight: bold;">FROM</span>  JBP_OBJECT_NODE
a<span style="color: #66cc66;">,</span> JBP_OBJECT_NODE_SEC b
<span style="color: #993333; font-weight: bold;">WHERE</span> a<span style="color: #66cc66;">.</span>pk<span style="color: #66cc66;">=</span>b<span style="color: #66cc66;">.</span>NODE_KEY
<span style="color: #993333; font-weight: bold;">AND</span> b<span style="color: #66cc66;">.</span>ROLE <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> jr<span style="color: #66cc66;">.</span>jbp_name <span style="color: #993333; font-weight: bold;">FROM</span> jbp_users ju<span style="color: #66cc66;">,</span> jbp_role_membership jrm<span style="color: #66cc66;">,</span>
jbp_roles jr
<span style="color: #993333; font-weight: bold;">WHERE</span> jrm<span style="color: #66cc66;">.</span>jbp_uid <span style="color: #66cc66;">=</span> ju<span style="color: #66cc66;">.</span>jbp_uid
<span style="color: #993333; font-weight: bold;">AND</span> jr<span style="color: #66cc66;">.</span>jbp_rid <span style="color: #66cc66;">=</span> jrm<span style="color: #66cc66;">.</span>jbp_rid
<span style="color: #993333; font-weight: bold;">AND</span> ju<span style="color: #66cc66;">.</span>jbp_uname <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'UTDEMO'</span>
<span style="color: #993333; font-weight: bold;">AND</span> ju<span style="color: #66cc66;">.</span>jbp_enabled <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>With 30k records the execution time falls down from 0.8 secs to 0.01 secs&#8230;<br />
That&#8217;s NOT all! I found this open bug:</p>
<p>https://jira.jboss.org/jira/browse/JBPORTAL-2040</p>
<p>With many users registered in, the JBoss Portal Admin console tooks over a minute to show a single page&#8230;</p>
<p>I don&#8217;t like portals&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludovicocaldara.net/dba/jboss-portal-and-mysql-scalability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL 5.1 GA by December 6th!</title>
		<link>http://www.ludovicocaldara.net/dba/mysql-51-ga-by-december-6th/</link>
		<comments>http://www.ludovicocaldara.net/dba/mysql-51-ga-by-december-6th/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 00:07:29 +0000</pubDate>
		<dc:creator>Ludovico</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.ludovicocaldara.net/dba/?p=31</guid>
		<description><![CDATA[Ohhh, I can confirm this man is Giuseppe Maxia! and we can trust him if he say that MySQL 5.1 will be GA by December 6th!
http://www.flickr.com/photos/datacharmer/3031124529
More than one year in release candidate, I think it is enough!
Happy partitioning, happy a lot of things!!
]]></description>
			<content:encoded><![CDATA[<p>Ohhh, I can confirm this man is <a title="Giuseppe Maxia" href="http://datacharmer.blogspot.com/" target="_blank">Giuseppe Maxia</a>! and we can trust him if he say that MySQL 5.1 will be GA by December 6th!</p>
<p><a title="OpenSQLCamp - breaking news" href="http://www.flickr.com/photos/datacharmer/3031124529" target="_blank">http://www.flickr.com/photos/datacharmer/3031124529</a></p>
<p>More than one year in release candidate, I think it is enough!</p>
<p>Happy partitioning, happy a lot of things!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludovicocaldara.net/dba/mysql-51-ga-by-december-6th/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
