<?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>Chronosbox &#187; MySQL</title>
	<atom:link href="http://chronosbox.org/blog/categories/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://chronosbox.org/blog</link>
	<description>idéias e dicas de uma mente insana trabalhando com TI</description>
	<lastBuildDate>Mon, 10 May 2010 03:09:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pensamento rápido &#8211; &#8220;ilike&#8221; SQL</title>
		<link>http://chronosbox.org/blog/pensamento-rapido-ilike-sql</link>
		<comments>http://chronosbox.org/blog/pensamento-rapido-ilike-sql#comments</comments>
		<pubDate>Fri, 04 Sep 2009 15:18:31 +0000</pubDate>
		<dc:creator>Handrus Nogueira</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Multi Database]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://chronosbox.org/blog/?p=237</guid>
		<description><![CDATA[Hoje vi um post num dos blogs que acompanho, onde um camarada disse ter conseguido 1000% de melhora na performance de uma aplicação trocando um:

SELECT * FROM TABLE WHERE fieldname ILIKE 'abc%';

Para

SELECT * FROM TABLE WHERE lower&#40;fieldname&#41; LIKE 'abc%';

(diferença de ilike para lower&#8230; like)
Eu achei tosco (hehehe), óbviamente que esse ganho absurdo só pode ter [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje vi um post num dos blogs que acompanho, onde um camarada disse ter conseguido 1000% de melhora na performance de uma aplicação trocando um:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;color: #FCFFBA;"><span class="kw1">SELECT</span> <span class="sy0">*</span> <span class="kw1">FROM</span> <span class="kw1">TABLE</span> <span class="kw1">WHERE</span> fieldname ILIKE <span class="st0">'abc%'</span>;</pre></div></div>

<p>Para</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;color: #FCFFBA;"><span class="kw1">SELECT</span> <span class="sy0">*</span> <span class="kw1">FROM</span> <span class="kw1">TABLE</span> <span class="kw1">WHERE</span> lower<span class="br0">&#40;</span>fieldname<span class="br0">&#41;</span> <span class="kw1">LIKE</span> <span class="st0">'abc%'</span>;</pre></div></div>

<p>(diferença de ilike para lower&#8230; like)<br />
Eu achei tosco (hehehe), óbviamente que esse ganho absurdo só pode ter ocorrido numa massa gigantesca de dados e provavelmente num campo sem índice.<br />
Mas a minha dica é outra:<br />
Além do ganho em performance o &#8220;ilike&#8221; não é suportado no mysql e sqlite.Portanto seu uso é extremamente desaconselhável, principalmente se você estiver trabalhando com Django, Rails ou qualquer aplicação que forneça um layer multi-db.<br />
Claro que nos frameworks citados acima o único jeito de fazer isso é forçar o uso de &#8220;ilike&#8221;, suas ORMs conseguem lidar com situações assim muito bem.</p>
<p><strong>Conclusão</strong><br />
Evite  &#8220;ilike&#8221; em queries de sql, use o  &#8220;lower()&#8230; like&#8221; ou &#8220;upper&#8230; like&#8221;; E se lembre de mudar sua variável para upper/lower!</p>
]]></content:encoded>
			<wfw:commentRss>http://chronosbox.org/blog/pensamento-rapido-ilike-sql/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
