


<?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>Walnutz &#187; query</title>
	<atom:link href="http://blog.walnutz.net/tag/query/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.walnutz.net</link>
	<description>Walnutz</description>
	<lastBuildDate>Wed, 10 Feb 2010 17:50:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Improve and Optimize mySQL 

Query</title>
		<link>http://blog.walnutz.net/improve-and-optimize-mysql-query.html</link>
		<comments>http://blog.walnutz.net/improve-and-optimize-mysql-query.html#comments</comments>
		<pubDate>Mon, 19 May 2008 08:04:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://walnutz.net/blog/?p=4</guid>
		<description><![CDATA[Sometimes when we want to display 
information from database, we call the data with query. In most database, in this case 
mySQL, we can make some variation of query depend on what your favor. And some web page need 
to use more than one query to display related information, e.g:
&#60;?
$sql_query = mysql_query(&#8220;SELECT * FROM table_name&#8221;);
while(result [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes when we want to display </p>
<p>information from database, we call the data with query. In most database, in this case </p>
<p>mySQL, we can make some variation of query depend on what your favor. And some web page need </p>
<p>to use more than one query <span id="more-4"></span>to display related information, e.g:</p>
<p>&lt;?</p>
<p>$sql_query = mysql_query(&#8220;SELECT * FROM table_name&#8221;);</p>
<p>while(result = </p>
<p>mysql_fetch_array($sql_query))</p>
<p>{</p>
<p>$sql_query2 = mysql_query(&#8220;SELECT * FROM </p>
<p>table_name2 WHERE id_table2 =&#8217;$result[id_table1]&#8216; &#8220;);</p>
<p>$result2 = mysql_fetch_array</p>
<p>($sql_query2);</p>
<p>echo $result2[example_field_data];</p>
<p>echo &#8220;&lt;br </p>
<p>/&gt;&#8221;;</p>
<p>}</p>
<p>?&gt;</p>
<p>Above SQL query is work properly but when you tested on </p>
<p>phpmyadmin, you can see how long it takes the query to execute? Maybe can take more than 1 </p>
<p>second. You know why this is can happen?</p>
<p>As from the first query, it will doing </p>
<p>looping depend on how many data will be shows, how about 100 records or more than 10.000 </p>
<p>record? It&#8217;s will looping execute the second query, its mean that from one page will </p>
<p>execute more than two queries, but xx more query. And it will penalized your database </p>
<p>performance, and sometimes can make overloaded</p>
<p>But you can prevent this by joining </p>
<p>those query into one query using JOIN or LEFT JOIN command.</p>
<p>&lt;?</p>
<p>$sql_query = </p>
<p>mysql_query(&#8220;SELECT a.*, b.* FROM table_name1 a JOIN table_name2 b ON a.id_table1 = </p>
<p>b.id_table2 &#8220;);</p>
<p>while(result = mysql_fetch_array($sql_query))</p>
<p>{</p>
<p>echo </p>
<p>$result[example_field_data];</p>
<p>}</p>
<p>?&gt;</p>
<p>You can test this query on </p>
<p>phpmyadmin and it will can perform faster than first query method because this query using </p>
<p>JOIN command to call two tables and using alias for shorts command (&#8216;a&#8217; is alias for </p>
<p>table_name1 and &#8216;b&#8217; is alias for table_name2)</p>
<p>Otherwise, you can optimze this query </p>
<p>again by selecting the related field only to display on browser, not select all field </p>
<p>(SELECT *), here the example:</p>
<p>&lt;?</p>
<p>$sql_query = mysql_query(&#8220;SELECT a.name, </p>
<p>a.email, b.job, b.job_level FROM table_name1 a JOIN table_name2 b ON a.id_table1 = </p>
<p>b.id_table2 &#8220;);</p>
<p>while(result = mysql_fetch_array($sql_query))</p>
<p>{</p>
<p>echo </p>
<p>$result[name].&#8221;&lt;br /&gt;&#8221;;</p>
<p>echo $result[email];</p>
<p>}</p>
<p>?&gt;</p>
<p>By </p>
<p>selected only related field, you can reduce memory utilization by this query and also </p>
<p>improved your SQL query performance.</p>
<p>Have a nice day&#8230;</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fblog.walnutz.net%2Fimprove-and-optimize-mysql-query.html';
  addthis_title  = 'Improve+and+Optimize+mySQL+%0D%0A%0D%0AQuery';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://blog.walnutz.net/improve-and-optimize-mysql-query.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
