<?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/"
	xmlns:series="http://unfoldingneurons.com/"
		>
<channel>
	<title>Comments on: Hitting the Database Less: Quick and Dirty Strategies for Database Efficiency</title>
	<atom:link href="http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/</link>
	<description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description>
	<lastBuildDate>Thu, 29 Jul 2010 11:09:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Brandon Savage</title>
		<link>http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/#comment-1093</link>
		<dc:creator>Brandon Savage</dc:creator>
		<pubDate>Mon, 07 Sep 2009 18:36:32 +0000</pubDate>
		<guid isPermaLink="false">http://dev.brandonsavage.net/?p=86#comment-1093</guid>
		<description>To me, a long table has lots of rows. A large table can have lots of rows, or each row could be exceptionally large.

For example, if you&#039;re storing files in the database as blobs, you could have a large table with just a few rows. Likewise, if you have a table of users that contains 35 million rows, that&#039;s too much.</description>
		<content:encoded><![CDATA[<p>To me, a long table has lots of rows. A large table can have lots of rows, or each row could be exceptionally large.</p>
<p>For example, if you&#8217;re storing files in the database as blobs, you could have a large table with just a few rows. Likewise, if you have a table of users that contains 35 million rows, that&#8217;s too much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: itchy</title>
		<link>http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/#comment-1090</link>
		<dc:creator>itchy</dc:creator>
		<pubDate>Sun, 06 Sep 2009 23:10:45 +0000</pubDate>
		<guid isPermaLink="false">http://dev.brandonsavage.net/?p=86#comment-1090</guid>
		<description>what&#039;s the difference between a large table and a long table?</description>
		<content:encoded><![CDATA[<p>what&#8217;s the difference between a large table and a long table?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scaling Up: Reducing Drag, Increasing Lift &#124; BrandonSavage.net</title>
		<link>http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/#comment-63</link>
		<dc:creator>Scaling Up: Reducing Drag, Increasing Lift &#124; BrandonSavage.net</dc:creator>
		<pubDate>Tue, 24 Feb 2009 16:12:27 +0000</pubDate>
		<guid isPermaLink="false">http://dev.brandonsavage.net/?p=86#comment-63</guid>
		<description>[...] are a number of strategies for hitting the database more efficiently. One that I recommend is caching - either file-based or [...]</description>
		<content:encoded><![CDATA[<p>[...] are a number of strategies for hitting the database more efficiently. One that I recommend is caching &#8211; either file-based or [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Savage</title>
		<link>http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/#comment-370</link>
		<dc:creator>Brandon Savage</dc:creator>
		<pubDate>Tue, 18 Nov 2008 05:28:29 +0000</pubDate>
		<guid isPermaLink="false">http://dev.brandonsavage.net/?p=86#comment-370</guid>
		<description>Jaik, here&#039;s what I do know:

Jay Pipes who works for MySQL recommends in his Join-Fu talk (http://jpipes.com/index.php?/archives/260-Slides-from-Drunken-Query-Master-and-Join-fu-Talks-at-ZendCon.html) that you be careful when picking your data types.

In his slides, he indicates that you should use TEXT sparingly, and BLOB VERY sparingly. He also notes that the smaller your records, the more you can fit into a single page on the disk, and the faster your scans will be. Just because you&#039;re not selecting on a particular record doesn&#039;t mean that adding on that data doesn&#039;t hinder performance.

He also recommends splitting up large tables into smaller ones, presumably for the same reason, and partitioning long tables into shorter ones.

I&#039;m not an expert in MySQL (Jay Pipes works for MySQL), so I recommend if you want to learn more you visit his website at http://jpipes.com/ and take a look at what he has to say.</description>
		<content:encoded><![CDATA[<p>Jaik, here&#8217;s what I do know:</p>
<p>Jay Pipes who works for MySQL recommends in his Join-Fu talk (<a href="http://jpipes.com/index.php?/archives/260-Slides-from-Drunken-Query-Master-and-Join-fu-Talks-at-ZendCon.html" rel="nofollow">http://jpipes.com/index.php?/archives/260-Slides-from-Drunken-Query-Master-and-Join-fu-Talks-at-ZendCon.html</a>) that you be careful when picking your data types.</p>
<p>In his slides, he indicates that you should use TEXT sparingly, and BLOB VERY sparingly. He also notes that the smaller your records, the more you can fit into a single page on the disk, and the faster your scans will be. Just because you&#8217;re not selecting on a particular record doesn&#8217;t mean that adding on that data doesn&#8217;t hinder performance.</p>
<p>He also recommends splitting up large tables into smaller ones, presumably for the same reason, and partitioning long tables into shorter ones.</p>
<p>I&#8217;m not an expert in MySQL (Jay Pipes works for MySQL), so I recommend if you want to learn more you visit his website at <a href="http://jpipes.com/" rel="nofollow">http://jpipes.com/</a> and take a look at what he has to say.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jaik</title>
		<link>http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/#comment-369</link>
		<dc:creator>Jaik</dc:creator>
		<pubDate>Tue, 18 Nov 2008 04:42:42 +0000</pubDate>
		<guid isPermaLink="false">http://dev.brandonsavage.net/?p=86#comment-369</guid>
		<description>Could you explain point 4, I didn&#039;t think have large data fields affected performance unless they were being selected or used elsewhere in the query?</description>
		<content:encoded><![CDATA[<p>Could you explain point 4, I didn&#8217;t think have large data fields affected performance unless they were being selected or used elsewhere in the query?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: omerida</title>
		<link>http://www.brandonsavage.net/hitting-the-database-less-quick-and-dirty-strategies-for-database-efficiency/#comment-368</link>
		<dc:creator>omerida</dc:creator>
		<pubDate>Mon, 17 Nov 2008 14:22:01 +0000</pubDate>
		<guid isPermaLink="false">http://dev.brandonsavage.net/?p=86#comment-368</guid>
		<description>Excellent tips - one I would add from my experience, is to do any intense data processing outside of the web request, for example via cron scripts.  If you need to count/summarize/average, from a large data set to generate reports, consider making those calculations and then saving them to a summary data table. Your web script simply formats the summary data for display.</description>
		<content:encoded><![CDATA[<p>Excellent tips &#8211; one I would add from my experience, is to do any intense data processing outside of the web request, for example via cron scripts.  If you need to count/summarize/average, from a large data set to generate reports, consider making those calculations and then saving them to a summary data table. Your web script simply formats the summary data for display.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk (feed is rejected)
Page Caching using apc (user agent is rejected)
Database Caching 44/51 queries in 0.030 seconds using disk
Content Delivery Network via Amazon Web Services: S3: files.brandonsavage.net.s3.amazonaws.com

Served from: www.brandonsavage.net @ 2010-07-31 10:52:21 -->