<?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>Skidoosh &#187; MySQL</title> <atom:link href="http://www.skidoosh.co.uk/category/mysql/feed/" rel="self" type="application/rss+xml" /><link>http://www.skidoosh.co.uk</link> <description>Skidoosh - PHP, Python, Django, Ruby on Rails Web Developer in North Wales</description> <lastBuildDate>Fri, 27 May 2011 11:33:40 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Optimize your MySQL queries to fine tune your application</title><link>http://www.skidoosh.co.uk/mysql/optimize-your-mysql-queries-by-fine-tuning-the-find-model-method/</link> <comments>http://www.skidoosh.co.uk/mysql/optimize-your-mysql-queries-by-fine-tuning-the-find-model-method/#comments</comments> <pubDate>Sat, 12 Jun 2010 09:08:31 +0000</pubDate> <dc:creator>Glyn Mooney</dc:creator> <category><![CDATA[MySQL]]></category> <category><![CDATA[performance]]></category><guid isPermaLink="false">http://www.skidoosh.co.uk/?p=86</guid> <description><![CDATA[As applications are getting more complex and manipulating data in more complex ways it's becoming more important to optimise our database queries to be as efficient as possible. This article shows how more explicit queries can reduce execution time and take some of the strain off system resources.]]></description> <content:encoded><![CDATA[<p>As applications are getting more complex and manipulating data in more complex ways it&#8217;s becoming more important to optimise our database queries to be as efficient as possible. I&#8217;m not going to cover caching in this article, instead I&#8217;m going to cover a more fundamental rule that should be followed when querying any database and follows this Python rule:</p><blockquote><p>&#8220;Explicit is better than implicit.&#8221;</p></blockquote><p>Lets start by looking at MySQL query performance from the command line. Lets imagine we had a user table with the following fields:</p><div class="codecolorer-container sql twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:500px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">CREATE</span> &nbsp;<span style="color: #993333; font-weight: bold;">TABLE</span> &nbsp;<span style="color: #ff0000;">`article_db`</span><span style="color: #66cc66;">.</span><span style="color: #ff0000;">`users`</span> <span style="color: #66cc66;">&#40;</span><br /> <span style="color: #ff0000;">`id`</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">6</span> &nbsp;<span style="color: #66cc66;">&#41;</span> &nbsp;<span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> &nbsp;<span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span> &nbsp;<span style="color: #993333; font-weight: bold;">PRIMARY</span> &nbsp;<span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`group_id`</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">6</span> &nbsp;<span style="color: #66cc66;">&#41;</span> &nbsp;<span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`username`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">30</span> &nbsp;<span style="color: #66cc66;">&#41;</span> &nbsp;<span style="color: #993333; font-weight: bold;">CHARACTER</span> &nbsp;<span style="color: #993333; font-weight: bold;">SET</span> utf8 <span style="color: #993333; font-weight: bold;">COLLATE</span> utf8_general_ci <span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`email`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">100</span> &nbsp;<span style="color: #66cc66;">&#41;</span> &nbsp;<span style="color: #993333; font-weight: bold;">CHARACTER</span> &nbsp;<span style="color: #993333; font-weight: bold;">SET</span> utf8 <span style="color: #993333; font-weight: bold;">COLLATE</span> utf8_general_ci <span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`password`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">36</span> &nbsp;<span style="color: #66cc66;">&#41;</span> &nbsp;<span style="color: #993333; font-weight: bold;">CHARACTER</span> &nbsp;<span style="color: #993333; font-weight: bold;">SET</span> utf8 <span style="color: #993333; font-weight: bold;">COLLATE</span> utf8_general_ci <span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`created`</span> DATETIME <span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> &nbsp;<span style="color: #ff0000;">'0000-00-00 00:00:00'</span><span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`updated`</span> DATETIME <span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> &nbsp;<span style="color: #ff0000;">'0000-00-00 00:00:00'</span><span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`active`</span> TINYINT<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> &nbsp;<span style="color: #66cc66;">&#41;</span> &nbsp;<span style="color: #993333; font-weight: bold;">NOT</span> &nbsp;<span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> &nbsp;<span style="color: #ff0000;">'0'</span><span style="color: #66cc66;">,</span><br /> <span style="color: #993333; font-weight: bold;">UNIQUE</span> <span style="color: #66cc66;">&#40;</span><br /> <span style="color: #ff0000;">`username`</span> <span style="color: #66cc66;">,</span><br /> <span style="color: #ff0000;">`email`</span><br /> <span style="color: #66cc66;">&#41;</span><br /> <span style="color: #66cc66;">&#41;</span>  ENGINE &nbsp;<span style="color: #66cc66;">=</span> &nbsp;MYISAM &nbsp;<span style="color: #993333; font-weight: bold;">CHARACTER</span> &nbsp;<span style="color: #993333; font-weight: bold;">SET</span> utf8 <span style="color: #993333; font-weight: bold;">COLLATE</span> utf8_general_ci;</div></div><p>Normally to retrieve data from this table you would execute a query like the following. please note that I am using a remote database to create some lag. If you use a local database on your development machine you will probably retrieve the data in 0 seconds.</p><div class="codecolorer-container sql twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:500px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&amp;gt; <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> users;<br /> <span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+----------+----------+-----------------------+----------------------------------+---------------------+---------------------+--------+</span><br /> <span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> group_id <span style="color: #66cc66;">|</span> username <span style="color: #66cc66;">|</span> email &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> password &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> created &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> updated &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> active <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+----------+----------+-----------------------+----------------------------------+---------------------+---------------------+--------+</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> admin &nbsp; &nbsp;<span style="color: #66cc66;">|</span> admin@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; <span style="color: #66cc66;">|</span> 21232f297a57a5a743894a0e4a801fc3 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">USER</span> &nbsp; &nbsp; <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">USER</span>@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> ee11cbb19052e40b07aac0ca060c23ee <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span> test &nbsp; &nbsp; <span style="color: #66cc66;">|</span> test@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> 098f6bcd4621d373cade4e832627b4f6 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span> temp &nbsp; &nbsp; <span style="color: #66cc66;">|</span> temp@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> 3d801aa532c1cec3ee82d87a99fdf63f <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> me &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> me@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> ab86a1e1ef70dff97959067b723c5c24 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> you &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> you@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> 639bae9ac6b3e1a84cebb7b403297b79 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> john &nbsp; &nbsp; <span style="color: #66cc66;">|</span> john@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> 527bd5b5d689e2c32ae974c6229ff785 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">8</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> master &nbsp; <span style="color: #66cc66;">|</span> master@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp;<span style="color: #66cc66;">|</span> eb0a191797624dd3a48fa681d3061212 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">9</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> theboss &nbsp;<span style="color: #66cc66;">|</span> theboss@testing<span style="color: #66cc66;">.</span>com &nbsp; <span style="color: #66cc66;">|</span> b248e08d5c23541514558eea059c08cf <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">10</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> susan &nbsp; &nbsp;<span style="color: #66cc66;">|</span> susan@localdomain<span style="color: #66cc66;">.</span>com <span style="color: #66cc66;">|</span> ac575e3eecf0fa410518c2d3a2e7209f <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+----------+----------+-----------------------+----------------------------------+---------------------+---------------------+--------+</span><br /> <span style="color: #cc66cc;">10</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.05</span> sec<span style="color: #66cc66;">&#41;</span></div></div><p>In the previous query we used the wild-card selector &#8216;*&#8217; to return all columns from the &#8216;users&#8217; table. This in turn queried the database and returned the results as above. What I&#8217;m going to do next is query the database for the same data but this time I&#8217;m going to name the fields that I require in my returned dataset:</p><div class="codecolorer-container sql twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:500px;height:300px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&amp;gt; <span style="color: #993333; font-weight: bold;">SELECT</span> id<span style="color: #66cc66;">,</span>group_id<span style="color: #66cc66;">,</span>username<span style="color: #66cc66;">,</span>email<span style="color: #66cc66;">,</span>password<span style="color: #66cc66;">,</span>created<span style="color: #66cc66;">,</span>updated<span style="color: #66cc66;">,</span>active <span style="color: #993333; font-weight: bold;">FROM</span> users;<br /> <br /> <span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+----------+----------+-----------------------+----------------------------------+---------------------+---------------------+--------+</span><br /> <br /> <span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> group_id <span style="color: #66cc66;">|</span> username <span style="color: #66cc66;">|</span> email &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> password &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> created &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> updated &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> active <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+----------+----------+-----------------------+----------------------------------+---------------------+---------------------+--------+</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> admin &nbsp; &nbsp;<span style="color: #66cc66;">|</span> admin@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; <span style="color: #66cc66;">|</span> 21232f297a57a5a743894a0e4a801fc3 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">USER</span> &nbsp; &nbsp; <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">USER</span>@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> ee11cbb19052e40b07aac0ca060c23ee <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:08:<span style="color: #cc66cc;">51</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span> test &nbsp; &nbsp; <span style="color: #66cc66;">|</span> test@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> 098f6bcd4621d373cade4e832627b4f6 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span> temp &nbsp; &nbsp; <span style="color: #66cc66;">|</span> temp@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> 3d801aa532c1cec3ee82d87a99fdf63f <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">13</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> me &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> me@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> ab86a1e1ef70dff97959067b723c5c24 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> you &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> you@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">|</span> 639bae9ac6b3e1a84cebb7b403297b79 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">15</span>:<span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> john &nbsp; &nbsp; <span style="color: #66cc66;">|</span> john@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span> 527bd5b5d689e2c32ae974c6229ff785 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">8</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> master &nbsp; <span style="color: #66cc66;">|</span> master@example<span style="color: #66cc66;">.</span>com &nbsp; &nbsp;<span style="color: #66cc66;">|</span> eb0a191797624dd3a48fa681d3061212 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">17</span>:04 <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">9</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> theboss &nbsp;<span style="color: #66cc66;">|</span> theboss@testing<span style="color: #66cc66;">.</span>com &nbsp; <span style="color: #66cc66;">|</span> b248e08d5c23541514558eea059c08cf <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">10</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> susan &nbsp; &nbsp;<span style="color: #66cc66;">|</span> susan@localdomain<span style="color: #66cc66;">.</span>com <span style="color: #66cc66;">|</span> ac575e3eecf0fa410518c2d3a2e7209f <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">2010</span><span style="color: #66cc66;">-</span>04<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">23</span>:<span style="color: #cc66cc;">43</span> <span style="color: #66cc66;">|</span> &nbsp; &nbsp; &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span><br /> <br /> <span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+----------+----------+-----------------------+----------------------------------+---------------------+---------------------+--------+</span><br /> <br /> <span style="color: #cc66cc;">10</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.01</span> sec<span style="color: #66cc66;">&#41;</span></div></div><p>As you can see, by defining a more explicit query you have reduced the execution time from 0.05 to 0.01 seconds. This may not be too impressive, but imagine the &#8220;now&#8221; common application queries a database. During the life cycle of a page execution in a content management system you could be looking at around 10 &#8211; 40 (this is just an example figure) database queries being executed during this time. In turn each of these queries take .05 seconds to execute (40 * .05) = 2 seconds. So you go through your application and modify it to select one the columns you need. If we take the examples above we would have (40 * .01) = .4, that&#8217;s a massive 1.6 (thanks ekozan) seconds faster!</p><p>Hope this helps!</p> ]]></content:encoded> <wfw:commentRss>http://www.skidoosh.co.uk/mysql/optimize-your-mysql-queries-by-fine-tuning-the-find-model-method/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>MySQL Find and Replace Function</title><link>http://www.skidoosh.co.uk/mysql/mysql-find-and-replace-function/</link> <comments>http://www.skidoosh.co.uk/mysql/mysql-find-and-replace-function/#comments</comments> <pubDate>Wed, 16 Dec 2009 19:21:21 +0000</pubDate> <dc:creator>Glyn Mooney</dc:creator> <category><![CDATA[MySQL]]></category><guid isPermaLink="false">http://www.skidoosh.co.uk/?p=62</guid> <description><![CDATA[A quick guide to one of the most useful MySQL functions. The replace function is a great way to find and replace bulk text matches in one easy step.]]></description> <content:encoded><![CDATA[<p>The MySQL REPLACE function is one of the most useful function MySQL has to offer. It&#8217;s great if you need to do a bulk find and replace on text in your database table. It&#8217;s very useful for migrations from one domain name to another and I have used it countless times to move WordPress installations from a testing to a production environment to re-point images. Here the code:</p><div class="codecolorer-container sql twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:500px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #993333; font-weight: bold;">TABLE_NAME</span> <span style="color: #993333; font-weight: bold;">SET</span> column_name <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span>column_name<span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'find_string_in_quotes'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'replace_string_in_quotes'</span><span style="color: #66cc66;">&#41;</span>;</div></div><p>Hope you find this useful. If you know a better way please leave a reply!</p> ]]></content:encoded> <wfw:commentRss>http://www.skidoosh.co.uk/mysql/mysql-find-and-replace-function/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 1/14 queries in 0.199 seconds using disk: basic
Object Caching 349/370 objects using disk: basic
Content Delivery Network via N/A

Served from: www.skidoosh.co.uk @ 2012-02-06 22:00:24 -->
