<?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>Hack MySQL Blog &#187; Book Review</title>
	<atom:link href="http://hackmysql.com/blog/tag/book-review/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackmysql.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 27 Jan 2012 00:00:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Book review: Optimizing Oracle Peformance</title>
		<link>http://hackmysql.com/blog/2010/01/06/book-review-optimizing-oracle-peformance/</link>
		<comments>http://hackmysql.com/blog/2010/01/06/book-review-optimizing-oracle-peformance/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 17:52:44 +0000</pubDate>
		<dc:creator>Daniel Nichter</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Cary Millsap]]></category>
		<category><![CDATA[Jeff Holt]]></category>
		<category><![CDATA[Optimizing Oracle Peformance]]></category>

		<guid isPermaLink="false">http://hackmysql.com/blog/?p=98</guid>
		<description><![CDATA[Optimizing Oracle Performance by Cary Millsap and Jeff Holt uses Oracle to make its points, but these points apply also to MySQL. The primary lesson I took away from this book is: all else aside, optimize/fix the user-action that provides the most economic benefit to the company; do this by profiling just that action and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://oreilly.com/catalog/9780596005276">Optimizing Oracle Performance</a> by     Cary Millsap and Jeff Holt uses Oracle to make its points, but these points apply also to MySQL.  The primary lesson I took away from this book is: all else aside, optimize/fix the user-action that provides the most economic benefit to the company; do this by profiling just that action and optimizing/fixing the most time-consuming events even if they are &#8220;idle&#8221; or &#8220;wait&#8221; events.</p>
<p>The authors call the aforementioned approach to performance optimization &#8220;Method R&#8221;.  It&#8217;s meant to be deterministic and teachable unlike &#8220;Method C&#8221;&#8211;the conventional method&#8211;whereby one uses their best judgment and experience to find the cause(s) of problems and fix them.  I agree, and Method R is fundamentally, imho, just the scientific method in practice.  Therefore, I like Method R because it puts &#8220;science&#8221; back into &#8220;computer science.&#8221;</p>
<p>The book also discusses queueing theory. It&#8217;s a whirlwind tour (~60 pages) but the authors provide everything you need to get started, including helper scripts and Excel worksheets.  I&#8217;m pretty sure that I&#8217;ll be working with this theory more in my job; when I do, I&#8217;ll begin with what the authors have given me (&#8220;<a href="http://en.wikiquote.org/wiki/Isaac_Newton">stand on the shoulders of giants</a>&#8220;).</p>
<p>One criticism/clarification comes to mind: Method R is reactive.  Let&#8217;s say your MySQL configuration is terrible so you&#8217;re not getting the most from your server as you could.  Method R may indirectly expose this only if the configuration is the root cause of a slow user-action.  So the configuration is only examined and fixed if the user deems their action unacceptably slow.  However, users don&#8217;t always complain; sometimes they just &#8220;live with it&#8221; because they don&#8217;t care or they don&#8217;t think it can be fixed or they&#8217;re afraid to complain or it&#8217;s always been that way so they&#8217;re not even aware that things could be better.  Thus, I think a more holistic view of performance optimization requires both a proactive method and a reactive method.  Method R is a great reactive method, but someone should be checking stuff even when there doesn&#8217;t seem to be a problem.  The authors don&#8217;t say &#8220;Method R is all you ever need to do&#8221;&#8211;I&#8217;m just making a clarification here.</p>
<p>Oracle extended SQL traces are used throughout the book to investigate performance issues.  Does MySQL have anything similar?  Nothing as cohesive comes to my mind (correct me if I&#8217;m wrong).  I think we can achieve the same thing via microslow logs, the community PROFILE feature, session status values, and scripts to glue it all together.  That&#8217;s a lot a of disparate pieces.  I&#8217;d rather have MySQL extended SQL traces (in a format more easily parsable than Oracle&#8217;s).</p>
<p>In summary, Optimizing Oracle Performance is a must-read for any database professional.  I think its emphases on providing the business the most &#8220;bang for its buck&#8221; and the deterministic nature of Method R are timeless and timely lessons for those of us who earn our livings by engaging in the science of computing.</p>
]]></content:encoded>
			<wfw:commentRss>http://hackmysql.com/blog/2010/01/06/book-review-optimizing-oracle-peformance/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

