<?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>MaisonBisson.com &#187; db</title>
	<atom:link href="http://maisonbisson.com/blog/post/tag/db/feed/" rel="self" type="application/rss+xml" />
	<link>http://maisonbisson.com</link>
	<description>A bunch of stuff I would have emailed you about.</description>
	<lastBuildDate>Sat, 14 Nov 2009 20:14:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Learning: MySQL Optimization</title>
		<link>http://maisonbisson.com/blog/post/11090/learning-mysql-optimization/</link>
		<comments>http://maisonbisson.com/blog/post/11090/learning-mysql-optimization/#comments</comments>
		<pubDate>Tue, 17 Jan 2006 15:31:56 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[big databases]]></category>
		<category><![CDATA[database optimization]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql optimization]]></category>
		<category><![CDATA[mytop]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[server overload]]></category>
		<category><![CDATA[server sizing]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=11090</guid>
		<description><![CDATA[
I have over 1000 posts here at MaisonBisson, but even so, the table with all those posts is under 3MB. Now I&#8217;ve got a project with 150,000 posts &#8212; yes, 150,000 posts! &#8212; and the table is about 500MB. An associated table, structured sort of like WP&#8217;s postsmeta, has over 1.5 million records and weighs [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11090"><!-- &nbsp; --></abbr>
<p>I have over 1000 posts here at MaisonBisson, but even so, the table with all those posts is under 3MB. Now I&#8217;ve got a project with 150,000 posts &#8212; yes, 150,000 posts! &#8212; and the table is about 500MB. An associated table, structured sort of like WP&#8217;s postsmeta, has over 1.5 million records and weighs in at over 100MB (not including the 150MB of indexes).</p>
<p>Up to now I&#8217;ve been a “throw more hardware at it” sort of guy &#8212; and in a server with only 1GB of RAM, that&#8217;s probably the best solution &#8212; but I also think it&#8217;s time I learned some MySQL optimization tricks. <a href="http://nosheep.net/">Zach</a>&#8217;s been pushing me to get <a href="http://jeremy.zawodny.com/mysql/mytop/">mytop</a> installed for quite a while, and I finally got around to it.</p>
<blockquote><p>mytop is a console-based (non-gui) tool for monitoring the threads and overall performance of a MySQL 3.22.x, 3.23.x, and 4.x server. It runs on most Unix systems (including Mac OS X) which have Perl, <a href="http://search.cpan.org/search?dist=DBI">DBI</a>, and <a href="http://search.cpan.org/search?dist=TermReadKey">Term::ReadKey</a> installed. And with <a href="http://search.cpan.org/search?dist=ANSIColor">Term::ANSIColor</a> installed you even get color. If you install <a href="http://search.cpan.org/search?mode=module&#038;query=Time%3A%3AHiRes">Time::HiRes</a>, you&#8217;ll get good real-time queries/second stats.</p></blockquote>
<p><tags>mysql, mysql optimization, optimization, server overload, big databases, mytop, server sizing, database optimization, db</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11090/learning-mysql-optimization/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Doing Relevance Ranked Full-Text Searches In MySQL</title>
		<link>http://maisonbisson.com/blog/post/10752/making-mysql-do-relevance-ranked-full-text-searches/</link>
		<comments>http://maisonbisson.com/blog/post/10752/making-mysql-do-relevance-ranked-full-text-searches/#comments</comments>
		<pubDate>Tue, 06 Sep 2005 11:56:33 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[boolean search]]></category>
		<category><![CDATA[boolean searches]]></category>
		<category><![CDATA[boolean searching]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[docs]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[full text]]></category>
		<category><![CDATA[full text index]]></category>
		<category><![CDATA[full text search]]></category>
		<category><![CDATA[full text searching]]></category>
		<category><![CDATA[fulltext]]></category>
		<category><![CDATA[fulltext search]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[match()]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[rank]]></category>
		<category><![CDATA[relevance]]></category>
		<category><![CDATA[relevance rank]]></category>
		<category><![CDATA[relevance ranked]]></category>
		<category><![CDATA[relevance ranking]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search full text]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10752</guid>
		<description><![CDATA[
I&#8217;m going out on a limb to say MySQL&#8217;s full-text indexing and searching features are underused. They appeared in MySQL 3.23.23 (most people are using 4.x, and 5 is in development), but it&#8217;s been news to most of the people I know.
Here&#8217;s the deal, the MATCH() function can search a full-text index for a string [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10752"><!-- &nbsp; --></abbr>
<p>I&#8217;m going out on a limb to say MySQL&#8217;s full-text indexing and searching features are underused. They appeared in MySQL 3.23.23 (most people are using 4.x, and 5 is in development), but it&#8217;s been news to most of the people I know.</p>
<p>Here&#8217;s the deal, the <a href="http://dev.mysql.com/doc/mysql/en/fulltext-search.html">MATCH()</a> function can search a full-text index for a string of text (one or more words) and return relevance-ranked results. It&#8217;s at the core of the list of <a href="http://maisonbisson.com/blog/post/10770/">related links</a> at the bottom of every post here.</p>
<p>For that query, I put all the tag names into a single variable that might look like this:</p>
<blockquote><p>$keywords = “mysql database php select full-text search full-text searching docs documentation”</p></blockquote>
<p>Then I do a select that looks something like this:</p>
<blockquote><p>SELECT * FROM wp_posts WHERE MATCH(post_title,post_content) AGAINST(&#8217;$keywords&#8217;);</p></blockquote>
<p>The <a href="http://dev.mysql.com/doc/mysql/en/fulltext-search.html">docs</a> give a lot more detail, including how to do <a href="http://dev.mysql.com/doc/mysql/en/fulltext-boolean.html">boolean searches</a>.</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">tags: <a href="http://www.technorati.com/tag/boolean search" rel="tag">boolean search</a>, <a href="http://www.technorati.com/tag/boolean searches" rel="tag">boolean searches</a>, <a href="http://www.technorati.com/tag/boolean searching" rel="tag">boolean searching</a>, <a href="http://www.technorati.com/tag/database" rel="tag">database</a>, <a href="http://www.technorati.com/tag/db" rel="tag">db</a>, <a href="http://www.technorati.com/tag/docs" rel="tag">docs</a>, <a href="http://www.technorati.com/tag/documentation" rel="tag">documentation</a>, <a href="http://www.technorati.com/tag/full text" rel="tag">full text</a>, <a href="http://www.technorati.com/tag/full text index" rel="tag">full text index</a>, <a href="http://www.technorati.com/tag/full text search" rel="tag">full text search</a>, <a href="http://www.technorati.com/tag/full text searching" rel="tag">full text searching</a>, <a href="http://www.technorati.com/tag/fulltext" rel="tag">fulltext</a>, <a href="http://www.technorati.com/tag/fulltext search" rel="tag">fulltext search</a>, <a href="http://www.technorati.com/tag/keywords" rel="tag">keywords</a>, <a href="http://www.technorati.com/tag/match()" rel="tag">match()</a>, <a href="http://www.technorati.com/tag/mysql" rel="tag">mysql</a>, <a href="http://www.technorati.com/tag/rank" rel="tag">rank</a>, <a href="http://www.technorati.com/tag/relevance" rel="tag">relevance</a>, <a href="http://www.technorati.com/tag/relevance rank" rel="tag">relevance rank</a>, <a href="http://www.technorati.com/tag/relevance ranked" rel="tag">relevance ranked</a>, <a href="http://www.technorati.com/tag/relevance ranking" rel="tag">relevance ranking</a>, <a href="http://www.technorati.com/tag/search" rel="tag">search</a>, <a href="http://www.technorati.com/tag/search full text" rel="tag">search full text</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10752/making-mysql-do-relevance-ranked-full-text-searches/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>