<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Daniel Lafraia</title>
	<atom:link href="http://lafraia.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://lafraia.com</link>
	<description>Mais um blog sobre PHP, Javascript e MySQL</description>
	<lastBuildDate>Mon, 14 Mar 2011 02:55:21 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='lafraia.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Daniel Lafraia</title>
		<link>http://lafraia.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://lafraia.com/osd.xml" title="Daniel Lafraia" />
	<atom:link rel='hub' href='http://lafraia.com/?pushpress=hub'/>
		<item>
		<title>No MySQL, ao invés de OR ou BETWEEN, use IN()</title>
		<link>http://lafraia.com/2011/03/13/mysql-ao-inves-de-or-ou-between-use-in/</link>
		<comments>http://lafraia.com/2011/03/13/mysql-ao-inves-de-or-ou-between-use-in/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 02:54:46 +0000</pubDate>
		<dc:creator>lafraia</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://lafraia.com/?p=9</guid>
		<description><![CDATA[É comum você precisar fazer uma query no MySQL que busque mais de um registro, especificando os IDs. Na maioria das vezes, por desconhecimento do funcionamento do índice, o programador utiliza SELECTs que não são muito otimizados e podem gerar &#8230; <a href="http://lafraia.com/2011/03/13/mysql-ao-inves-de-or-ou-between-use-in/">Continue lendo <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lafraia.com&amp;blog=20970381&amp;post=9&amp;subd=lafraia&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>É comum você precisar fazer uma query no MySQL que busque mais de um registro, especificando os IDs. Na maioria das vezes, por desconhecimento do funcionamento do índice, o programador utiliza SELECTs que não são muito otimizados e podem gerar uma carga desnecessária para o banco de dados.</p>
<p>Supondo que você precise pegar os registros de ID 1,2,3,4,5 e 6 do banco.</p>
<p><strong>QUERY #1:</strong><br />
SELECT campo FROM tabela WHERE id=1 OR id=2 OR id=3 OR id=4 OR id=5 OR id=6</p>
<p><strong>QUERY #2:</strong><br />
SELECT campo FROM tabela WHERE id BETWEEN 1 AND 6</p>
<p><strong>QUERY #3 (MELHOR!):</strong><br />
SELECT campo FROM tabela WHERE id IN (1,2,3,4,5,6)</p>
<p>Na verdade não é que as outras duas queries estão erradas, mas não vão utilizar o índice corretamente. O IN() é a melhor forma para buscar esses registros.</p>
<p>Com isso, com o PHP o melhor a utilizar é a função range() para montar a query.</p>
<p><strong>$query = &#8220;SELECT campo FROM tabela WHERE id IN (&#8220;.implode(&#8220;,&#8221;,range(1,6)).&#8221;)&#8221;;</strong></p>
<p> <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lafraia.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lafraia.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lafraia.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lafraia.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lafraia.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lafraia.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lafraia.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lafraia.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lafraia.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lafraia.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lafraia.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lafraia.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lafraia.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lafraia.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lafraia.com&amp;blog=20970381&amp;post=9&amp;subd=lafraia&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lafraia.com/2011/03/13/mysql-ao-inves-de-or-ou-between-use-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c092e86bd643b91fdfbfed31d622b46e?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">lafraia</media:title>
		</media:content>
	</item>
	</channel>
</rss>
