<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Prajwal Tuladhar's Blog</title>
	
	<link>http://prajwal-tuladhar.net.np</link>
	<description>programming, life and some random thoughts</description>
	<pubDate>Sat, 14 Nov 2009 03:48:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<image><link>http://prajwal-tuladhar.net.np/</link><url>http://farm4.static.flickr.com/3024/3005114783_8a194e69e0.jpg?v=0</url><title>Prajwal Tuladhar's Icon</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Prajwal" type="application/rss+xml" /><feedburner:emailServiceId>Prajwal</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FPrajwal" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPrajwal" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FPrajwal" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Prajwal" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FPrajwal" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FPrajwal" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPrajwal" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Wealth is not about the money you amass but it’s about how many lives you enrich</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/WMHxZbNQD_c/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/11/13/493/wealth-is-not-about-the-money-you-amass-but-its-about-how-many-lives-you-enrich/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 03:48:19 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<category><![CDATA[capitalism]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=493</guid>
		<description><![CDATA[Warren Buffett and Bill Gates: Keeping America Great


		]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/sKYaUgMN7QJKKRBvpWk0TFmxf7w/0/da"><img src="http://feedads.g.doubleclick.net/~a/sKYaUgMN7QJKKRBvpWk0TFmxf7w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sKYaUgMN7QJKKRBvpWk0TFmxf7w/1/da"><img src="http://feedads.g.doubleclick.net/~a/sKYaUgMN7QJKKRBvpWk0TFmxf7w/1/di" border="0" ismap="true"></img></a></p><p><strong><a href="http://www.cnbc.com/id/15840232?video=1329393420&amp;play=1">Warren Buffett and Bill Gates: Keeping America Great</a></strong></p>
<p><strong><a href="http://www.cnbc.com/id/15840232?video=1329393420&amp;play=1"></a></strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="380" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="cnbcplayer" /><param name="bgcolor" value="#000000" /><param name="src" value="http://plus.cnbc.com/rssvideosearch/action/player/id/1329393420/code/cnbcplayershare" /><param name="wmode" value="transparent" /><embed type="application/x-shockwave-flash" width="400" height="380" src="http://plus.cnbc.com/rssvideosearch/action/player/id/1329393420/code/cnbcplayershare" wmode="transparent" bgcolor="#000000" name="cnbcplayer"></embed></object></p>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F11%2F13%2F493%2Fwealth-is-not-about-the-money-you-amass-but-its-about-how-many-lives-you-enrich%2F', 'Wealth+is+not+about+the+money+you+amass+but+it%26%238217%3Bs+about+how+many+lives+you+enrich')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F11%2F13%2F493%2Fwealth-is-not-about-the-money-you-amass-but-its-about-how-many-lives-you-enrich%2F', title: '+Wealth+is+not+about+the+money+you+amass+but+it%26%238217%3Bs+about+how+many+lives+you+enrich+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=WMHxZbNQD_c:1s3_Q0dF1MA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=WMHxZbNQD_c:1s3_Q0dF1MA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=WMHxZbNQD_c:1s3_Q0dF1MA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=WMHxZbNQD_c:1s3_Q0dF1MA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=WMHxZbNQD_c:1s3_Q0dF1MA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=WMHxZbNQD_c:1s3_Q0dF1MA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=WMHxZbNQD_c:1s3_Q0dF1MA:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=WMHxZbNQD_c:1s3_Q0dF1MA:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/WMHxZbNQD_c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/11/13/493/wealth-is-not-about-the-money-you-amass-but-its-about-how-many-lives-you-enrich/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/11/13/493/wealth-is-not-about-the-money-you-amass-but-its-about-how-many-lives-you-enrich/</feedburner:origLink></item>
		<item>
		<title>Fantastic Visualization of Cell Scaling</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/LKBryHlgmYo/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/11/13/487/fantastic-visualization-of-cell-scaling/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 15:22:09 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[Links]]></category>

		<category><![CDATA[Miscellaneous]]></category>

		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=487</guid>
		<description><![CDATA[No doubt, visualization is the best way to extract effectiveness of any data set.
And if you love visualized data, you will definitely love this:

Found via
		]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/rOUtWORppqHGU_7byD9JyDSwe1w/0/da"><img src="http://feedads.g.doubleclick.net/~a/rOUtWORppqHGU_7byD9JyDSwe1w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rOUtWORppqHGU_7byD9JyDSwe1w/1/da"><img src="http://feedads.g.doubleclick.net/~a/rOUtWORppqHGU_7byD9JyDSwe1w/1/di" border="0" ismap="true"></img></a></p><p>No doubt, visualization is the best way to extract effectiveness of any data set.</p>
<p>And if you love visualized data, you will definitely love this:</p>
<p><a href="http://learn.genetics.utah.edu/content/begin/cells/scale/"><img class="alignnone size-medium wp-image-488" title="Visualization of Cell with Scaling" src="http://farm3.static.flickr.com/2476/4100893606_b5b6c4062a_o_d.png" alt="" width="645" height="356" /></a></p>
<p>Found <a href="http://feedproxy.google.com/~r/InfectiousGreed/~3/UgeFCM8rZKY/diversions_powe.html">via</a></p>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F11%2F13%2F487%2Ffantastic-visualization-of-cell-scaling%2F', 'Fantastic+Visualization+of+Cell+Scaling')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F11%2F13%2F487%2Ffantastic-visualization-of-cell-scaling%2F', title: '+Fantastic+Visualization+of+Cell+Scaling+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=LKBryHlgmYo:s1UvyQ4Yr2I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=LKBryHlgmYo:s1UvyQ4Yr2I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=LKBryHlgmYo:s1UvyQ4Yr2I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=LKBryHlgmYo:s1UvyQ4Yr2I:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=LKBryHlgmYo:s1UvyQ4Yr2I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=LKBryHlgmYo:s1UvyQ4Yr2I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=LKBryHlgmYo:s1UvyQ4Yr2I:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=LKBryHlgmYo:s1UvyQ4Yr2I:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/LKBryHlgmYo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/11/13/487/fantastic-visualization-of-cell-scaling/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/11/13/487/fantastic-visualization-of-cell-scaling/</feedburner:origLink></item>
		<item>
		<title>Know the whole stack even if you don’t operate within it</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/g4-p-cbc1CE/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/11/11/485/know-the-whole-stack-even-if-you-dont-operate-within-it/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 06:22:06 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=485</guid>
		<description><![CDATA[Coders at Work has to be one of the most read books for programmers and/or software developers of all levels. Among 15 sets of Q/A with most probably great programmers of all time, I want to share paragraph of a conversation with Brad Fitzpatrick, creator of Memcached and co-founder of LiveJournal.
The one way they think [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/6LLPXOMJ-V_rQtx1rcwgCAg43qE/0/da"><img src="http://feedads.g.doubleclick.net/~a/6LLPXOMJ-V_rQtx1rcwgCAg43qE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6LLPXOMJ-V_rQtx1rcwgCAg43qE/1/da"><img src="http://feedads.g.doubleclick.net/~a/6LLPXOMJ-V_rQtx1rcwgCAg43qE/1/di" border="0" ismap="true"></img></a></p><p><a href="http://www.codersatwork.com/">Coders at Work</a> has to be one of the most read books for programmers and/or software developers of all levels. Among 15 sets of Q/A with most probably great programmers of all time, I want to share paragraph of a conversation with <a href="http://en.wikipedia.org/wiki/Brad_Fitzpatrick">Brad</a> <a title="Brad Fitzpatrick" href="http://www.bradfitz.com/">Fitzpatrick</a>, creator of <a href="http://memcached.org/">Memcached</a> and co-founder of <a href="http://www.livejournal.com/">LiveJournal</a>.</p>
<blockquote><p>The one way they think about solving things is always within the space they know. They don&#8217;t think end-to-end as much. I think it&#8217;s really important to know the whole stack even if you don&#8217;t operate within the whole stack.</p></blockquote>
<h3>Polyglotism is a way to go!!!</h3>
<blockquote></blockquote>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F11%2F11%2F485%2Fknow-the-whole-stack-even-if-you-dont-operate-within-it%2F', 'Know+the+whole+stack+even+if+you+don%26%238217%3Bt+operate+within+it')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F11%2F11%2F485%2Fknow-the-whole-stack-even-if-you-dont-operate-within-it%2F', title: '+Know+the+whole+stack+even+if+you+don%26%238217%3Bt+operate+within+it+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=g4-p-cbc1CE:EewS9WWzgck:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=g4-p-cbc1CE:EewS9WWzgck:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=g4-p-cbc1CE:EewS9WWzgck:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=g4-p-cbc1CE:EewS9WWzgck:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=g4-p-cbc1CE:EewS9WWzgck:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=g4-p-cbc1CE:EewS9WWzgck:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=g4-p-cbc1CE:EewS9WWzgck:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=g4-p-cbc1CE:EewS9WWzgck:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/g4-p-cbc1CE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/11/11/485/know-the-whole-stack-even-if-you-dont-operate-within-it/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/11/11/485/know-the-whole-stack-even-if-you-dont-operate-within-it/</feedburner:origLink></item>
		<item>
		<title>Know more about MySQL Explain</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/Q2L_TTmArK0/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/09/26/481/know-more-about-mysql-explain/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 02:10:52 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=481</guid>
		<description><![CDATA[This has to be the one of the most in depth presentation I have ever seen about MySQL explain.
If you are working with MySQL, EXPLAIN is crucial whether you are a developer or a DBA.
And recently, I have also been using EXPLAIN quite frequently both in my works and my posts.
Explain
View more presentations from Ligaya [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/F6GL5rzBz2gi1vbH2-fo0H3AdPA/0/da"><img src="http://feedads.g.doubleclick.net/~a/F6GL5rzBz2gi1vbH2-fo0H3AdPA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/F6GL5rzBz2gi1vbH2-fo0H3AdPA/1/da"><img src="http://feedads.g.doubleclick.net/~a/F6GL5rzBz2gi1vbH2-fo0H3AdPA/1/di" border="0" ismap="true"></img></a></p><p>This has to be the one of the most in depth presentation I have ever seen about MySQL <a href="http://dev.mysql.com/doc/refman/5.0/en/explain.html">explain</a>.</p>
<p>If you are working with MySQL, EXPLAIN is crucial whether you are a developer or a DBA.</p>
<p>And recently, I have also been using EXPLAIN quite frequently both in my works and my <a href="http://prajwal-tuladhar.net.np/2009/09/23/474/things-you-should-know-about-mysql-index/">posts</a>.</p>
<div id="__ss_1471601" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Explain" href="http://www.slideshare.net/ligaya/explain">Explain</a><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=explain-090521153007-phpapp01&amp;rel=0&amp;stripped_title=explain" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=explain-090521153007-phpapp01&amp;rel=0&amp;stripped_title=explain" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ligaya">Ligaya Turmelle</a>.</div>
</div>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F26%2F481%2Fknow-more-about-mysql-explain%2F', 'Know+more+about+MySQL+Explain')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F26%2F481%2Fknow-more-about-mysql-explain%2F', title: '+Know+more+about+MySQL+Explain+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=Q2L_TTmArK0:aqk3W0dLvPk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=Q2L_TTmArK0:aqk3W0dLvPk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=Q2L_TTmArK0:aqk3W0dLvPk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=Q2L_TTmArK0:aqk3W0dLvPk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=Q2L_TTmArK0:aqk3W0dLvPk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=Q2L_TTmArK0:aqk3W0dLvPk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=Q2L_TTmArK0:aqk3W0dLvPk:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=Q2L_TTmArK0:aqk3W0dLvPk:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/Q2L_TTmArK0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/09/26/481/know-more-about-mysql-explain/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/09/26/481/know-more-about-mysql-explain/</feedburner:origLink></item>
		<item>
		<title>Bug and Bush</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/nFrrgKwGiSU/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/09/23/476/bug-and-bush/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 03:06:07 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=476</guid>
		<description><![CDATA[Couple of funny pictures attached in my office wall that I want to share.
		]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/P8arWQoHJIKKlxGJAH8hRg67rJg/0/da"><img src="http://feedads.g.doubleclick.net/~a/P8arWQoHJIKKlxGJAH8hRg67rJg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/P8arWQoHJIKKlxGJAH8hRg67rJg/1/da"><img src="http://feedads.g.doubleclick.net/~a/P8arWQoHJIKKlxGJAH8hRg67rJg/1/di" border="0" ismap="true"></img></a></p><p>Couple of funny pictures attached in my office wall that I want to share.</p>
<div id="attachment_477" class="wp-caption aligncenter" style="width: 360px"><a href="http://prajwal-tuladhar.net.np/wp-content/uploads/2009/09/bug.jpg"><img class="size-full wp-image-477 " title="Bug and Feature" src="http://prajwal-tuladhar.net.np/wp-content/uploads/2009/09/bug.jpg" alt="Bug versus Feature" width="350" height="263" /></a><p class="wp-caption-text">Bug versus Feature</p></div>
<div id="attachment_478" class="wp-caption aligncenter" style="width: 360px"><a href="http://prajwal-tuladhar.net.np/wp-content/uploads/2009/09/bush.jpg"><img class="size-full wp-image-478" title="Photoshop is always true at least about Bush" src="http://prajwal-tuladhar.net.np/wp-content/uploads/2009/09/bush.jpg" alt="Photoshop is always true at least about Bush" width="350" height="467" /></a><p class="wp-caption-text">Photoshop is always true at least about Bush</p></div>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F23%2F476%2Fbug-and-bush%2F', 'Bug+and+Bush')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F23%2F476%2Fbug-and-bush%2F', title: '+Bug+and+Bush+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=nFrrgKwGiSU:QyO9_YOOksI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=nFrrgKwGiSU:QyO9_YOOksI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=nFrrgKwGiSU:QyO9_YOOksI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=nFrrgKwGiSU:QyO9_YOOksI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=nFrrgKwGiSU:QyO9_YOOksI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=nFrrgKwGiSU:QyO9_YOOksI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=nFrrgKwGiSU:QyO9_YOOksI:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=nFrrgKwGiSU:QyO9_YOOksI:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/nFrrgKwGiSU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/09/23/476/bug-and-bush/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/09/23/476/bug-and-bush/</feedburner:origLink></item>
		<item>
		<title>Things you should know about MySQL index</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/H8RYZFu2Ioc/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/09/23/474/things-you-should-know-about-mysql-index/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 05:39:57 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=474</guid>
		<description><![CDATA[Indexes are used for reading the data from the table with comparatively faster execution time. When an index is defined, MySQL maintain separate list of index values and update them when the values are updated / changed. Defining index will require more storage that means we are trading off space with the speed.
MULTI-COLUMN AND SINGLE COLUMN [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/YbnrKwPF5myU0DfPYxgRkUo-9r0/0/da"><img src="http://feedads.g.doubleclick.net/~a/YbnrKwPF5myU0DfPYxgRkUo-9r0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YbnrKwPF5myU0DfPYxgRkUo-9r0/1/da"><img src="http://feedads.g.doubleclick.net/~a/YbnrKwPF5myU0DfPYxgRkUo-9r0/1/di" border="0" ismap="true"></img></a></p><p>Indexes are used for reading the data from the table with comparatively faster execution time. When an index is defined, MySQL maintain separate list of index values and update them when the values are updated / changed. Defining index will require more storage that means we are trading off space with the speed.</p>
<h3>MULTI-COLUMN AND SINGLE COLUMN INDEX</h3>
<p>Lets consider this table and its index:</p>
<pre name="code" class="sql">

create table employees (
id int auto_increment,
first_name varchar(32) not null,
last_name varchar(32) not null,
phone_number varchar(32) not null,
primary key(id)
);

ALTER TABLE employees ADD INDEX first_last_name (first_name, last_name);

mysql&gt; select count(*) from employees;
+----------+
| count(*) |
+----------+
|   100001 |
+----------+
1 row in set (0.01 sec)
</pre>
<div class="wp-caption alignnone" style="width: 510px"><a href="http://www.flickr.com/photos/ayalan/392460408/"><img title="MySQL Index" src="http://farm1.static.flickr.com/188/392460408_5432fca173.jpg" alt="Index Cards DNA By ayalan" width="500" height="375" /></a><p class="wp-caption-text">Index Cards&#39; &quot;DNA&quot; By ayalan</p></div>
<p>Now lets make selection:</p>
<pre name="code" class="sql">

SELECT * FROM employees where last_name=&#039;tuladhar&#039; and first_name = &#039;prajwal&#039;;

mysql&gt; explain select * from employees where last_name=&#039;tuladhar&#039; and first_name=&#039;prajwal&#039; \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: employees
type: ref
possible_keys: first_last_name
key: first_last_name
key_len: 196
ref: const,const
rows: 1
Extra: Using where
1 row in set (0.00 sec)
</pre>
<p>By using <a href="http://dev.mysql.com/doc/refman/5.0/en/explain.html">EXPLAIN</a> keyword we can know which keys are being used in the query. (Focus on possible_keys and key column)</p>
<p>This is simple example of using multi-column index.</p>
<p>Now, instead of using, double criteria, lets use only single.</p>
<pre name="code" class="sql">

SELECT * FROM employees where last_name=&#039;tuladhar&#039;;

mysql&gt; explain select * from employees where last_name=&#039;tuladhar&#039; \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: employees
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 100001
Extra: Using where
1 row in set (0.00 sec)
</pre>
<p>Did you see that the key column is null. So, the query is  not taking advantage of any index at all. This is because we have only defined two indexes: a primary key and multi-column index containing first_name and last_name.</p>
<p>Now lets use ORDER BY clause to sort data using columns: first_name and last_name</p>
<pre name="code" class="sql">

SELECT * FROM employees order by last_name, first_name LIMIT 10;

mysql&gt; EXPLAIN SELECT * FROM employees order by last_name, first_name LIMIT 10 \G

*************************** 1. row ***************************

id: 1

select_type: SIMPLE

table: employees

type: ALL

possible_keys: NULL

key: NULL

key_len: NULL

ref: NULL

rows: 100001

Extra: Using filesort

1 row in set (0.00 sec)
</pre>
<p>If the sort order has last_name as the first column while first_name as the last, index won&#8217;t be used. In order to make the query use the index we have to :</p>
<pre name="code" class="sql">

SELECT * FROM employees order by first_name, last_name LIMIT 10;

mysql&gt; EXPLAIN SELECT * FROM employees order by first_name, last_name LIMIT 10 \G

*************************** 1. row ***************************

id: 1

select_type: SIMPLE

table: employees

type: index

possible_keys: NULL

key: first_last_name

key_len: 196

ref: NULL

rows: 10

Extra:

1 row in set (0.00 sec)
</pre>
<p>Now lets create two additional single column index:</p>
<pre name="code" class="sql">

ALTER TABLE employees ADD INDEX first_name (first_name);

ALTER TABLE employees ADD INDEX last_name (last_name);

SELECT * FROM employees where last_name=&#039;tuladhar&#039; and first_name = &#039;prajwal&#039; ;

mysql&gt; EXPLAIN SELECT * FROM employees where last_name=&#039;tuladhar&#039; and first_name= &#039;prajwal&#039; \G

*************************** 1. row ***************************

id: 1

select_type: SIMPLE

table: employees

type: ref

possible_keys: first_last_name,first_name,last_name

key: first_last_name

key_len: 196

ref: const,const

rows: 1

Extra: Using where

1 row in set (0.00 sec)
</pre>
<p>In the above query, there are 3 possible queries and MySQL is using the multi-column index. We can force MySQL to use other two indexes by giving it hint.</p>
<pre name="code" class="sql">

SELECT * FROM employees IGNORE INDEX(first_last_name) where last_name=&#039;tuladhar&#039; and first_name = &#039;prajwal&#039; ;

mysql&gt; EXPLAIN SELECT * FROM employees IGNORE INDEX(first_last_name) where last_name=&#039;tuladhar&#039; and first_name = &#039;prajwal&#039; \G

*************************** 1. row ***************************

id: 1

select_type: SIMPLE

table: employees

type: ref

possible_keys: first_name,last_name

key: first_name

key_len: 98

ref: const

rows: 1

Extra: Using where

1 row in set (0.01 sec)
</pre>
<p>The above query is using two single indexes instead of a multi-column index.</p>
<p>Consider the query:</p>
<pre name="code" class="sql">

mysql&gt; EXPLAIN SELECT * FROM employees where last_name=&#039;tuladhar&#039; or first_name = &#039;prajwal&#039; \G

*************************** 1. row ***************************

id: 1

select_type: SIMPLE

table: employees

type: index_merge

possible_keys: first_last_name,first_name,last_name

key: last_name,first_last_name

key_len: 98,98

ref: NULL

rows: 2

Extra: Using sort_union(last_name,first_last_name); Using where

1 row in set (0.00 sec)
</pre>
<p>It is using single column indexes instead of multi-column. That means, Multi column indexes are helpful when you need AND criterial and single column indexes are helpful when you need OR criteria.</p>
<h3>PRIMARY KEY AND UNIQUE KEY</h3>
<p>Primary Key can&#8217;t be NULL while Unique key can be NULL but that column can have only one value of NULL. (a bit weird right? This is because NULL is also a valid data format in MySQL )</p>
<h3>FULL TEXT INDEX</h3>
<p>I also discussed about this topic in my last <a href="http://prajwal-tuladhar.net.np/2009/09/20/455/full-text-versus-like/">post</a>.</p>
<p>When executing a query with varchar and text type and if the column has large number of values, it is generally recommend to use <a href="http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html">Full Text Index</a> rather than simple pattern matching using <a href="http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html">LIKE</a> and/or <a href="http://dev.mysql.com/doc/refman/5.0/en/regexp.html">Regular Expression</a>.</p>
<h3>AVOID USING SQL EXPRESSIONS WHEN POSSIBLE</h3>
<p>This is because SQL expressions can&#8217;t take the advantage of indexes. I have taken example from this <a href="http://bit.ly/f1HB3">post</a>:</p>
<pre name="code" class="sql">

SELECT * FROM customer WHERE year(customer_join_date) = 2009;

SELECT * FROM customer WHERE customer_join_date BETWEEN &#039;2009-01-01&#039; AND &#039;2009-12-31&#039;;
</pre>
<p>First query can&#8217;t take advantage of index while second query can only if `customer_join_date` is defined as index.</p>
<h3>References:</h3>
<ul>
<li><a href="http://bit.ly/1NsyGQ">Multi Column indexes vs Index Merge</a></li>
<li><a href="http://bit.ly/37QtAH">3 ways MySQL uses indexes</a></li>
</ul>
<div>And I strongly recommend you to read <a href="http://oreilly.com/catalog/9780596003067/">High Performance MySQL</a> if you are engaged in some sort of MySQL related tasks.</div>
<p>Hope this helps you. I would love to hear your feedbacks <img src='http://prajwal-tuladhar.net.np/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F23%2F474%2Fthings-you-should-know-about-mysql-index%2F', 'Things+you+should+know+about+MySQL+index')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F23%2F474%2Fthings-you-should-know-about-mysql-index%2F', title: '+Things+you+should+know+about+MySQL+index+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=H8RYZFu2Ioc:_GHUJvkVpF4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=H8RYZFu2Ioc:_GHUJvkVpF4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=H8RYZFu2Ioc:_GHUJvkVpF4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=H8RYZFu2Ioc:_GHUJvkVpF4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=H8RYZFu2Ioc:_GHUJvkVpF4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=H8RYZFu2Ioc:_GHUJvkVpF4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=H8RYZFu2Ioc:_GHUJvkVpF4:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=H8RYZFu2Ioc:_GHUJvkVpF4:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/H8RYZFu2Ioc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/09/23/474/things-you-should-know-about-mysql-index/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/09/23/474/things-you-should-know-about-mysql-index/</feedburner:origLink></item>
		<item>
		<title>HTML 5 Introduction Video</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/S-Xi0DT4T-w/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/09/22/467/html-5-introduction-video/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 19:36:08 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=467</guid>
		<description><![CDATA[If you are a web developer like me then, I guess you are also quite excited about HTML 5 as it opens so many new doors of innovation like native support for SVG and it being tightly integrated with DOM, Canvas API, native RIA components (imagine experiencing multimedia applications without Flash and/or Silver Light) and [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/NnmMh2aX9lx1PTD77TFesii_-Bw/0/da"><img src="http://feedads.g.doubleclick.net/~a/NnmMh2aX9lx1PTD77TFesii_-Bw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NnmMh2aX9lx1PTD77TFesii_-Bw/1/da"><img src="http://feedads.g.doubleclick.net/~a/NnmMh2aX9lx1PTD77TFesii_-Bw/1/di" border="0" ismap="true"></img></a></p><p>If you are a web developer like me then, I guess you are also quite excited about HTML 5 as it opens so many new doors of innovation like native support for SVG and it being tightly integrated with DOM, Canvas API, native RIA components (imagine experiencing multimedia applications without Flash and/or Silver Light) and so on.</p>
<p>Here is a nice <a href="http://ajaxian.com/archives/introduction-to-html-5">video</a> that describe the features of HTML 5 in depth. Do watch it if you want to get into HTML 5.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6691519&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=6691519&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/6691519">Introduction to HTML 5</a> from <a href="http://vimeo.com/user1005914">Brad Neuberg</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F22%2F467%2Fhtml-5-introduction-video%2F', 'HTML+5+Introduction+Video')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F22%2F467%2Fhtml-5-introduction-video%2F', title: '+HTML+5+Introduction+Video+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=S-Xi0DT4T-w:16335U8bTpc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=S-Xi0DT4T-w:16335U8bTpc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=S-Xi0DT4T-w:16335U8bTpc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=S-Xi0DT4T-w:16335U8bTpc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=S-Xi0DT4T-w:16335U8bTpc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=S-Xi0DT4T-w:16335U8bTpc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=S-Xi0DT4T-w:16335U8bTpc:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=S-Xi0DT4T-w:16335U8bTpc:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/S-Xi0DT4T-w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/09/22/467/html-5-introduction-video/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/09/22/467/html-5-introduction-video/</feedburner:origLink></item>
		<item>
		<title>Memcached Links</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/2_G3e0dyAAE/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/09/20/462/memcached-links/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 04:32:40 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[Links]]></category>

		<category><![CDATA[Memcached]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/2009/09/20/462/memcached-links/</guid>
		<description><![CDATA[For some time, I’ve been digging through Memcached related articles and blog posts over the web in order to understand how people are actually using it. Most of the articles are kinda equivalent. But the use of version in the cache seems more standard and improve form of managing the cache. When, cache keys are [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/n6jFVfKyd1XTk6ijgOZ6P55PH_s/0/da"><img src="http://feedads.g.doubleclick.net/~a/n6jFVfKyd1XTk6ijgOZ6P55PH_s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/n6jFVfKyd1XTk6ijgOZ6P55PH_s/1/da"><img src="http://feedads.g.doubleclick.net/~a/n6jFVfKyd1XTk6ijgOZ6P55PH_s/1/di" border="0" ismap="true"></img></a></p><p>For some time, I’ve been digging through <a href="http://www.danga.com/memcached/">Memcached</a> related articles and blog posts over the web in order to understand how people are actually using it. Most of the articles are kinda equivalent. But the use of version in the cache seems more standard and improve form of managing the cache. When, cache keys are managed using version numbers, one does not have to worry about cache conflict issues also that may occur in certain update transactions because Memcached use <a href="http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used">LRU (Least Recently Used)</a> to remove old cache values.</p>
<p>Here are some links I have gone through:</p>
<ul>
<li><a href="http://code.google.com/p/memcached/">http://code.google.com/p/memcached/</a> (Main resource)</li>
<li><a href="http://www.linuxjournal.com/article/7451">http://www.linuxjournal.com/article/7451</a></li>
<li><a href="http://blog.leetsoft.com/2007/5/22/the-secret-to-memcached">http://blog.leetsoft.com/2007/5/22/the-secret-to-memcached</a></li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/ha-memcached-faq.html">http://dev.mysql.com/doc/refman/5.1/en/ha-memcached-faq.html</a></li>
<li><a href="http://www.igvita.com/2008/04/22/mysql-conf-memcached-internals/">http://www.igvita.com/2008/04/22/mysql-conf-memcached-internals/</a></li>
<li><a href="http://highscalability.com/strategy-break-memcache-dog-pile">http://highscalability.com/strategy-break-memcache-dog-pile</a></li>
<li><a href="http://abhinavsingh.com/blog/2009/01/memcached-and-n-things-you-can-do-with-it/">http://abhinavsingh.com/blog/2009/01/memcached-and-n-things-you-can-do-with-it/</a></li>
</ul>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6d96b50c-7a1c-4107-b511-9cb7ed42e0f2" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/memcached">memcached</a>,<a rel="tag" href="http://technorati.com/tags/scalability">scalability</a>,<a rel="tag" href="http://technorati.com/tags/database">database</a></div>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F20%2F462%2Fmemcached-links%2F', 'Memcached+Links')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F20%2F462%2Fmemcached-links%2F', title: '+Memcached+Links+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=2_G3e0dyAAE:e7Oxwj9msMU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=2_G3e0dyAAE:e7Oxwj9msMU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=2_G3e0dyAAE:e7Oxwj9msMU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=2_G3e0dyAAE:e7Oxwj9msMU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=2_G3e0dyAAE:e7Oxwj9msMU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=2_G3e0dyAAE:e7Oxwj9msMU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=2_G3e0dyAAE:e7Oxwj9msMU:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=2_G3e0dyAAE:e7Oxwj9msMU:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/2_G3e0dyAAE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/09/20/462/memcached-links/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/09/20/462/memcached-links/</feedburner:origLink></item>
		<item>
		<title>Full Text versus like</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/qk781P0GKX0/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/09/20/455/full-text-versus-like/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 18:52:12 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=455</guid>
		<description><![CDATA[Full text index is a special type of index that can be used to search words data field in a table.
According to MySQL documentation:
Full-text indexes can be used only with MyISAM tables, and can be created only for CHAR, VARCHAR, or TEXT columns.
And here is an excerpt from High Performance MySQL:
A full-text index is a [...]]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/LteLW-xWRsdiViAccxGNkNNu1T4/0/da"><img src="http://feedads.g.doubleclick.net/~a/LteLW-xWRsdiViAccxGNkNNu1T4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LteLW-xWRsdiViAccxGNkNNu1T4/1/da"><img src="http://feedads.g.doubleclick.net/~a/LteLW-xWRsdiViAccxGNkNNu1T4/1/di" border="0" ismap="true"></img></a></p><p>Full text index is a special type of index that can be used to search words data field in a table.</p>
<p>According to MySQL <a href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html">documentation</a>:</p>
<blockquote><p>Full-text indexes can be used only with MyISAM tables, and can be created only for CHAR, VARCHAR, or TEXT columns.</p></blockquote>
<p>And here is an excerpt from High Performance MySQL:</p>
<blockquote><p>A full-text index is a special type of index that can quickly retrieve the locations of every distinct word in a field. MySQL&#8217;s provides full-text indexing support in MyISAM tables. Full-text indexes are built against one or more text fields (VARCHAR, TEXT, etc.) in a table.</p>
<p>The full-text index is also stored in a table&#8217;s .MYI file. It is implemented by creating a normal two-part MyISAM B-tree index in which the first field is a VARCHAR, and the second is a FLOAT. The first field contains the indexed word, and the FLOAT is its local weight in the row.</p></blockquote>
<p>Whereas <strong>like</strong> is a standard SQL term used for matching pattern in the query. In MySQL, you can also match any arbitrary characters using &#8216;%&#8217; or you can also use regular expression. But use of like when matching a word in a query is quite costly in terms of time than using Full Text Index.</p>
<p>Example:<br />
<pre><pre>mysql&gt; describe students;
+-------+--------------+------+-----+---------+----------------+
| Field | Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Null | Key | Default | Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
+-------+--------------+------+-----+---------+----------------+
| id&nbsp;&nbsp;&nbsp;&nbsp;| int(11)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| NO&nbsp;&nbsp; | PRI | NULL&nbsp;&nbsp;&nbsp;&nbsp;| auto_increment |
| name&nbsp;&nbsp;| varchar(255) | NO&nbsp;&nbsp; | MUL | NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql&gt; select * from students where name like &#039;%prajwal%&#039;;
+----+------------------+
| id | name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
+----+------------------+
|&nbsp;&nbsp;1 | Prajwal Tuladhar |
|&nbsp;&nbsp;2 | PrAJwal TUladhar |
+----+------------------+
2 rows in set (9.93 sec)

mysql&gt; select * from students where match (name) against (&#039;prajwal&#039;);
+----+------------------+
| id | name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
+----+------------------+
|&nbsp;&nbsp;1 | Prajwal Tuladhar |
|&nbsp;&nbsp;2 | PrAJwal TUladhar |
+----+------------------+
2 rows in set (0.08 sec)</pre></pre><br />
Just look at the difference in the time. When full text is used, it only took 0.08 sec while query with like took whooping 9.93 sec. The logic is simple because, indexing the column generally helps to execute the query when using relative criteria. Only disadvantage of using Full Text is that the indexes tend to get larger quickly as they contain one record for each word in each indexed field. It may also depend on which should be given more importance: space or query execution time.</p>
<p>When using like, MySQL has to go through each and every row. And when regular expression is use as <a href="http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html">pattern matching</a>, MySQL optimizer will never try to optimize the query resulting dismal performance.</p>
<p>Update: I forgot to show the number of rows of the table `students`.<br />
<pre><pre>mysql&gt; select count(*) from students;
+----------+
| count(*) |
+----------+
|&nbsp;&nbsp;1073052 |
+----------+
1 row in set (0.76 sec)</pre></pre></p>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F20%2F455%2Ffull-text-versus-like%2F', 'Full+Text+versus+like')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F20%2F455%2Ffull-text-versus-like%2F', title: '+Full+Text+versus+like+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=qk781P0GKX0:Mz58xk83jUk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=qk781P0GKX0:Mz58xk83jUk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=qk781P0GKX0:Mz58xk83jUk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=qk781P0GKX0:Mz58xk83jUk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=qk781P0GKX0:Mz58xk83jUk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=qk781P0GKX0:Mz58xk83jUk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=qk781P0GKX0:Mz58xk83jUk:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=qk781P0GKX0:Mz58xk83jUk:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/qk781P0GKX0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/09/20/455/full-text-versus-like/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/09/20/455/full-text-versus-like/</feedburner:origLink></item>
		<item>
		<title>WebGL / Canvas 3D in Webkit</title>
		<link>http://feedproxy.google.com/~r/Prajwal/~3/9R_q0uDm3rQ/</link>
		<comments>http://prajwal-tuladhar.net.np/2009/09/19/452/webgl-canvas-3d-in-webkit/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 23:26:43 +0000</pubDate>
		<dc:creator>Prajwal Tuladhar</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://prajwal-tuladhar.net.np/?p=452</guid>
		<description><![CDATA[
The demo for WebGL API looks awesome.
Source
		]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/zWUXDP8f-JmXsHGh4ItxZ93TW5U/0/da"><img src="http://feedads.g.doubleclick.net/~a/zWUXDP8f-JmXsHGh4ItxZ93TW5U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/zWUXDP8f-JmXsHGh4ItxZ93TW5U/1/da"><img src="http://feedads.g.doubleclick.net/~a/zWUXDP8f-JmXsHGh4ItxZ93TW5U/1/di" border="0" ismap="true"></img></a></p><p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/2rpKpj6ZO9w&amp;hl=en&amp;fs=1&amp;" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/2rpKpj6ZO9w&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The demo for WebGL API looks awesome.</p>
<p><a href="http://feedproxy.google.com/~r/ajaxian/~3/ubBPqXvdgJg/webgl-webkit">Source</a></p>
<div id="st200812023983" class="st-taf"><br/>	<!-- <script src="http://cdn.socialtwist.com/200812023983/script.js"></script> -->	<img style="border:0;margin:0;padding:0;" src="http://images.socialtwist.com/200812023983/button.png" onmouseout="hideHoverMap(this)" onmouseover="showHoverMap(this, '200812023983',  'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F19%2F452%2Fwebgl-canvas-3d-in-webkit%2F', 'WebGL+%2F+Canvas+3D+in+Webkit')" onclick="cw(this, {id:'200812023983',link: 'http%3A%2F%2Fprajwal-tuladhar.net.np%2F2009%2F09%2F19%2F452%2Fwebgl-canvas-3d-in-webkit%2F', title: '+WebGL+%2F+Canvas+3D+in+Webkit+' })"/></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Prajwal?a=9R_q0uDm3rQ:6RSM2JEFfTA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=9R_q0uDm3rQ:6RSM2JEFfTA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=9R_q0uDm3rQ:6RSM2JEFfTA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=9R_q0uDm3rQ:6RSM2JEFfTA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Prajwal?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=9R_q0uDm3rQ:6RSM2JEFfTA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=9R_q0uDm3rQ:6RSM2JEFfTA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Prajwal?a=9R_q0uDm3rQ:6RSM2JEFfTA:-njXHGV8hqY"><img src="http://feeds.feedburner.com/~ff/Prajwal?i=9R_q0uDm3rQ:6RSM2JEFfTA:-njXHGV8hqY" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Prajwal/~4/9R_q0uDm3rQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://prajwal-tuladhar.net.np/2009/09/19/452/webgl-canvas-3d-in-webkit/feed/</wfw:commentRss>
		<feedburner:origLink>http://prajwal-tuladhar.net.np/2009/09/19/452/webgl-canvas-3d-in-webkit/</feedburner:origLink></item>
	</channel>
</rss>
