<?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>Conecuh Software &#187; OSCON07</title>
	<atom:link href="http://conecuh.com/category/oscon07/feed/" rel="self" type="application/rss+xml" />
	<link>http://conecuh.com</link>
	<description>Musings on Software and Development by David H. Wilkins</description>
	<lastBuildDate>Tue, 27 Mar 2012 18:03:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>OSCON Tutorial: Target Practice: A Workshop in Tuning MySQL Queries</title>
		<link>http://conecuh.com/2007/07/oscon-tutorial-target-practice-a-workshop-in-tuning-mysql-queries/</link>
		<comments>http://conecuh.com/2007/07/oscon-tutorial-target-practice-a-workshop-in-tuning-mysql-queries/#comments</comments>
		<pubDate>Mon, 23 Jul 2007 20:30:56 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[OSCON07]]></category>

		<guid isPermaLink="false">http://conecuh.com/2007/07/23/oscon-tutorial-target-practice-a-workshop-in-tuning-mysql-queries/</guid>
		<description><![CDATA[Date: 23-Jul-2007 Time: 8:30 &#8211; 12:30 PDT Presenter: Jay Pipes Great information on MySQL tuning. I generally pull on my extensive Oracle experience when writing queries for MySQL. Lots of generally good practices work for both Oracle and MySQL, but, as I learned today, there are some &#8220;gotchas&#8221; for MySQL that need to be accounted [...]]]></description>
			<content:encoded><![CDATA[<p>Date: 23-Jul-2007<br />
Time: 8:30 &#8211; 12:30 PDT<br />
Presenter: Jay Pipes</p>
<p>Great information on MySQL tuning.  I generally pull on my extensive Oracle experience when writing queries for MySQL.  Lots of generally good practices work for both Oracle and MySQL, but, as I learned today, there are some &#8220;gotchas&#8221; for MySQL that need to be accounted for.  My main take away for this tutuorial is as follows:<br />
<span id="more-17"></span></p>
<ul>
<li>
The MySQL <code>EXPLAIN</code> command is pretty useful for determining how well your queries are going to run, and what path they are going to take.  They&#8217;re useful <b>if</b> (and only if) you understand the myriad of values for the <code>type</code>, <code>key</code>, <code>ref</code>, and <code>Extra</code> fields in the output.
</li>
<li>
Range access rocks in MySQL.  This is one of the operations that MySQL has been optimized for, and was originally intended for.
</li>
<li>
<code>select * from table</code> is a bad idea in MySQL, as it generates a full table scan.  Always specify the columns in the select clause.
</li>
<li>
When you see <code>eq_ref</code> in your MySQL <code>EXPLAIN</code>, that&#8217;s a really good thing.
</li>
<li>
<code>OR</code> causes a full  table scan on MySQL <= 4.x
</li>
<li>Don&#8217;t use subqueries in MySQL < V5.2.4.  The optimizer doesn't generate optimum SQL for these.  I guess it's generally good to re-write your subqueries as joins or whatnot, since that's what the optimizer is going to need to go anyway
</li>
<li>
InnoDB is highly optimized.  I need to research how well it works for my particular problems, though.  It&#8217;s probably a better fit than MyISAM
</li>
<li>
MySQL QUERY CACHE is a good thing, but only on heavy read databases.  The databases should be more than 80% read.
</li>
<li>
MySQL QUERY CACHE is invalidated for tables where updates happen.  It&#8217;s many times better to normalize out frequently updated columns (ex. page_views) into another table, and pull that back directly, instead of letting the update of the  frequently updated columns invalidate the QUERY CACHE.
</li>
<li>
The &#8220;invalidation&#8221; of the QUERY CACHE can cause a bunch of thrashing, and it may be better to turn off QUERY CACHE instead of having all of that thrashing going on  for light read applications
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://conecuh.com/2007/07/oscon-tutorial-target-practice-a-workshop-in-tuning-mysql-queries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSCON 2007</title>
		<link>http://conecuh.com/2007/07/oscon-2007/</link>
		<comments>http://conecuh.com/2007/07/oscon-2007/#comments</comments>
		<pubDate>Sun, 22 Jul 2007 19:01:37 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[OSCON07]]></category>

		<guid isPermaLink="false">http://conecuh.com/2007/07/22/oscon-2007/</guid>
		<description><![CDATA[I&#8217;m heading off to OSCON 2007 in Portland in a couple of hours. This is my first OSCON, and I&#8217;ll be blogging my experiences while there. I&#8217;m signed up for several tutorials on Monday and Tuesday. The sessions on Wednesday, Thursday and Friday look like they&#8217;re awesome also. Tutorials I&#8217;m signed up for: Title: Target [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m heading off to OSCON 2007 in Portland in a couple of hours.  This is my first OSCON, and I&#8217;ll be blogging my experiences while there.  I&#8217;m signed up for several tutorials on Monday and Tuesday.  The sessions on Wednesday, Thursday and Friday look like they&#8217;re awesome also.  </p>
<p>Tutorials I&#8217;m signed up for:</p>
<p> Title: <a href="http://conferences.oreillynet.com/cs/os2007/view/e_sess/13089">Target Practice: A Workshop in Tuning MySQL Queries</a><br />
 Date: 07/23/2007<br />
 Time: 8:30am to 12:00pm</p>
<p> Title: <a href="http://conferences.oreillynet.com/cs/os2007/view/e_sess/12458">Scalable Internet Architectures</a><br />
 Date: 07/23/2007<br />
 Time: 1:30pm to 5:00pm</p>
<p> Title: <a href="http://conferences.oreillynet.com/cs/os2007/view/e_sess/13066">Technical Management of Software Development</a><br />
 Date: 07/24/2007<br />
 Time: 8:30am to 12:00pm<br />
<a href="http://www.aleax.it/os07_handout.pdf"> Handout</a></p>
<p> Title: <a href="http://conferences.oreillynet.com/cs/os2007/view/e_sess/12823">Making Programs Faster</a><br />
 Date: 07/24/2007<br />
 Time: 1:30pm to 5:00pm</p>
<p>Here are links to the conference <a href="http://conferences.oreillynet.com/os2007/">website</a> and <a href="http://oscon.kwiki.org/">wiki</a></p>
<p>Watch this spot for more information during the day each day!</p>
<p>&#8211;dhw</p>
]]></content:encoded>
			<wfw:commentRss>http://conecuh.com/2007/07/oscon-2007/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

