<?xml version="1.0"?>
<rss version="2.0"><channel><title>A Collection of Essential Guides Latest Topics</title><link>https://mygamingtalk.com/forum/17-a-collection-of-essential-guides/</link><description>A Collection of Essential Guides Latest Topics</description><language>en</language><item><title>ET Server Series!</title><link>https://mygamingtalk.com/topic/4034-et-server-series/</link><description><![CDATA[<p>I've started on a basic ET server configuration series for people. I will continue to update this topic with more and more videos</p><p> </p><p>(p.s sorry for the low quality videos going to use something else for recording &lt;3)</p><p> </p><p> </p><p>$part 1</p><p><a href="https://www.youtube.com/watch?v=ewwoq1ZUo-Y&amp;feature=youtu.be" rel="external nofollow">https://www.youtube.com/watch?v=ewwoq1ZUo-Y&amp;feature=youtu.be</a></p>]]></description><guid isPermaLink="false">4034</guid><pubDate>Mon, 08 Sep 2014 18:26:11 +0000</pubDate></item><item><title>How to install csf firewall ?</title><link>https://mygamingtalk.com/topic/5934-how-to-install-csf-firewall/</link><description><![CDATA[<p><span style="font-size:18px;"><span style="color:#ff0000;"><strong>How to install csf firewall ?</strong></span></span></p><p> </p><p> </p><p> </p><p><span style="color:#ff0000;"><strong>-&gt; So, login to your server via ssh and let’s start CSF installation by retrieving the package files using wget command:<br><br># wget <a href="http://configserver.com/free/csf.tgz" rel="external nofollow">http://configserver.com/free/csf.tgz</a><br><br>Unpack the archive:<br><br># tar xfz csf.tgz<br><br>Navigate to the uncomperssed csf directory:<br><br># cd csf<br><br>Run the installer:<br><br># sh install.sh<br><br>It will create configuration file and add all required cPanel services to allow list. Let’s disable testing mode by editing main CSF configuration file. Open the file using any editor (vi, nano, etc):<br><br># nano /etc/csf/csf.conf<br><br>and change<br><br>TESTING = “1?<br><br>to<br><br>TESTING = “0?<br><br>When done, restart CSF:<br><br># csf -r<br><br>Now CSF is installed and ready. You can simply manage it via cPanel WHM interface WHM &gt; Config Security &amp; Firewall:     <img alt=":)" src="https://mygamingtalk.com/applications/core/interface/js/spacer.png" data-src="https://mygamingtalk.com/uploads/emoticons/default_smile.png"></strong></span></p><div> </div>]]></description><guid isPermaLink="false">5934</guid><pubDate>Fri, 31 Jul 2015 00:04:45 +0000</pubDate></item><item><title>multi config server</title><link>https://mygamingtalk.com/topic/5223-multi-config-server/</link><description><![CDATA[<p>silent mod ofc <img alt=":D" src="https://mygamingtalk.com/applications/core/interface/js/spacer.png" data-src="https://mygamingtalk.com/uploads/emoticons/default_biggrin.png"></p><p> </p><p>you have to play with  g_mapConfigs and  g_mapScriptDirectory and custom commands thx to silent mod guys <img alt=":D" src="https://mygamingtalk.com/applications/core/interface/js/spacer.png" data-src="https://mygamingtalk.com/uploads/emoticons/default_biggrin.png"></p><p> </p><p>example:</p><p> </p><p>i'd like to setup a tj mod via shrubbot:</p><p> </p><p>[command]<br>command  = tj<br>exec     = set lua_modules "nextmap.lua autopromo.lua TJmod.lua adrenaline.lua" ; set g_mapConfigs "tj_cfg"; restart;<br>desc     = ^7!^3tj^7 - turn ^3TRICKJUMP MODE ^1on<br>syntax   =<br>levels   = 11<br><br>[command]<br>command  = tjoff<br>exec     = set lua_modules "nextmap.lua autopromo.lua" ; set g_mapConfigs "mapconfigs"; restart;<br>desc     = ^7!^3tjoff^7 - turn ^3TRICKJUMP MODE ^1off<br>syntax   =<br>levels   = 11<br><br>well, do NOT set lua modules via your server.cfg, and you can find the above lua modules searching via google <img alt=":D" src="https://mygamingtalk.com/applications/core/interface/js/spacer.png" data-src="https://mygamingtalk.com/uploads/emoticons/default_biggrin.png"></p><p>it's just a sample, have fun <img alt=":D" src="https://mygamingtalk.com/applications/core/interface/js/spacer.png" data-src="https://mygamingtalk.com/uploads/emoticons/default_biggrin.png"></p>]]></description><guid isPermaLink="false">5223</guid><pubDate>Fri, 27 Mar 2015 04:28:35 +0000</pubDate></item><item><title>How to install Maldet</title><link>https://mygamingtalk.com/topic/4644-how-to-install-maldet/</link><description><![CDATA[<p><span style="color:#B22222;">The Maldet is a commonly using malware detector for Linux based server. The installation and usage of maldet is quite simple.<br /><br />Malware Detect is very easy to install on CentOS, regardless of the control panel you utilize (cPanel/WHM, Directadmin, etc). Maldet also known as Linux Malware Detect virus scanner for Linux.<br /><br />There is nothing complicated in installation process, but root access to your server is required.</span><br /><br /><span style="color:#B22222;">Installation via SSH :</span><br /> </p><blockquote data-ipsquote="" class="ipsQuote"><div><p><span style="color:#000000;">cd /usr/local/src/<br />wget <a href="http://www.rfxn.com/downloads/maldetect-current.tar.gz" rel="external nofollow">http://www.rfxn.com/downloads/maldetect-current.tar.gz</a><br />tar -xzf maldetect-current.tar.gz<br />cd maldetect-*<br />sh ./install.sh or sudo sh ./install.sh<br />maldet --update-ver<br />maldet --update</span>[/i]</p></div></blockquote><br /><p><span style="color:#B22222;">To scan a folder, for example /home you should type maldet -a /home.<br /><br />Thank you for reading !</span><br /><br /><span style="color:#FF0000;">█</span>█ <span style="color:#FF0000;"><strong><a href="http://hostdens.com" rel="external nofollow">HostDens.com</a> : Enjoy Unlimited Web Hosting | Beyond Your Expectation</strong></span><br />    █<span style="color:#FF0000;">█</span> <span style="color:#000000;"><a href="http://hostdens.com/cheap-linux-reseller-hosting.php" rel="external nofollow">Reseller Hosting</a> | <a href="http://hostdens.com/cheap-canada-vps-hosting.php" rel="external nofollow">VPS Servers (Linux)</a> | <a href="http://hostdens.com/one-dollar-linux-web-hosting.php" rel="external nofollow">Shared Hosting</a></span><br />    <span style="color:#FF0000;">█</span>█ <em><span style="color:#FF0000;"><strong>$1 Hosting | Affordable Shared Web Hosting Services​</strong></span></em></p>]]></description><guid isPermaLink="false">4644</guid><pubDate>Mon, 29 Dec 2014 07:35:19 +0000</pubDate></item><item><title>PHP Script to check Database Connection from browser</title><link>https://mygamingtalk.com/topic/4571-php-script-to-check-database-connection-from-browser/</link><description><![CDATA[<p><strong><span style="color:#800080;">HostDens.Com : PHP Script to check Database Connection from browser</span></strong><br /><br /><strong><span style="color:#0000FF;">It is simple task to check database connectivity from the browser it self and it’s not necessary to logged into server.</span></strong><br /><br /><span style="color:#0000FF;">Yes, but you should be knowing host-name, password and user</span><br /><br />   </p><blockquote data-ipsquote="" class="ipsQuote"><div><p style="text-align:center;">&lt;?php<br />    mysql_connect(‘db_host’, ‘db_username’, ‘password’) or die(‘Could not connect the database : Username or password incorrect’);<br />    mysql_select_db(‘db_name’) or die (‘No database found’);<br />    echo ‘Database Connected successfully';<br />    ?&gt;</p></div></blockquote><p style="text-align:center;"> </p><p style="text-align:center;"><span style="color:#000080;">It’s very simple concept, first the “mysql_connect” argument will check the database hostname, username and password. If the first argument is true, then PHP take the second line to execute else the script will die with an output given in the Die section. Similarly, mysql_select_db check the database on the server. If both of the arguments are true then you will get an output given after the echo command.</span><br /><br /><strong><span style="color:#0000FF;">Example:</span></strong><br /><br />1, <span style="color:#FF0000;"><strong>If all of the input data(db_name, username, password, hostname) are right, then the output is like;</strong></span></p><p style="text-align:center;"> </p><blockquote data-ipsquote="" class="ipsQuote"><div><span style="color:#0000FF;"></span><p style="text-align:center;"><span style="color:#0000FF;">    Database Connected successfully</span></p></div></blockquote><p style="text-align:center;"> </p><p style="text-align:center;">2, <strong><span style="color:#FF0000;">If any of the entry in ‘mysql_connect’ section is wrong, then the output is;</span></strong><br /><br />   </p><blockquote data-ipsquote="" class="ipsQuote"><div><span style="color:#0000FF;"></span><p style="text-align:center;"><span style="color:#0000FF;">Could not connect the database : Username or password incorrect</span></p></div></blockquote><p style="text-align:center;"> </p><p style="text-align:center;">3, <strong><span style="color:#FF0000;">If the database entry is wrong;</span></strong><br /><br />   </p><blockquote data-ipsquote="" class="ipsQuote"><div><span style="color:#0000FF;"></span><p style="text-align:center;"><span style="color:#0000FF;">No database found</span></p></div></blockquote><p style="text-align:center;"> </p><p style="text-align:center;"><strong><span style="color:#0000FF;">Thank you for reading !!!</span></strong><br /><br /><span style="color:#FF0000;">█</span>█ <strong><span style="color:#FF0000;">HostDens.com : Enjoy Unlimited Web Hosting | Beyond Your Expectation</span></strong><br />█<strong><span style="color:#FF0000;">█ </span></strong><strong><span style="color:#000000;">Reseller Hosting| VPS Servers (Windows, Linux) | Shared Hosting</span></strong><br /><span style="color:#FF0000;">█</span>█ <strong><span style="color:#FF0000;">$1 Hosting | Affordable Shared Web Hosting Services</span></strong></p>]]></description><guid isPermaLink="false">4571</guid><pubDate>Sun, 14 Dec 2014 16:18:24 +0000</pubDate></item><item><title>Upgrading from MySQL server 5.1 to 5.5 - Debian</title><link>https://mygamingtalk.com/topic/2560-upgrading-from-mysql-server-51-to-55-debian/</link><description><![CDATA[<p>If you are trying to upgrade from MySQL server from 5.1 to 5.5 on debian and if you are getting below error then you can try this steps to resolve the issue for you:</p><pre class="ipsCode prettyprint">
Setting up mysql-server-core-5.5 (5.5.30-1~dotdeb.0) …
Setting up mysql-server-5.5 (5.5.30-1~dotdeb.0) …
Installing new version of config file /etc/mysql/debian-start …
Installing new version of config file /etc/init.d/mysql …
Installing new version of config file /etc/logrotate.d/mysql-server …
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
invoke-rc.d: initscript mysql, action “start” failed.
dpkg: error processing mysql-server-5.5 (–configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.5; however:
Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (–configure):
dependency problems – leaving unconfigured
configured to not write apport reports
configured to not write apport reports
Errors were encountered while processing:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1) </pre><p> </p><p>Steps to resolve the issue while upgrading MySQL Server:</p><p> </p><p>Take a look at /var/log/syslog and check what errors are you getting:</p><p> </p><p>Quick fix for the below errors:</p><p> </p><p>Error 1:  [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.</p><p> </p><p>Correct syntax for slow queries log in MySQL 5.5:</p><p> </p><pre class="ipsCode prettyprint">
slow_query_log_file = /your/path/slowqueries.log
</pre><p> </p><p>Error 2: [Warning] ignore-builtin-innodb is deprecated and will be removed in future releases.</p><p> </p><p><a href="http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_built_in" rel="external nofollow">http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_built_in</a></p><p> </p><blockquote data-ipsquote="" class="ipsQuote"><div><p> </p><p style="font-size:13px;color:rgb(0,0,0);font-family:Helvetica, Arial, sans-serif;">The built-in InnoDB storage engine within MySQL is the original form of distribution for the storage engine. Contrast with the <span style="margin:0px;background-color:transparent;"><strong>InnoDB Plugin</strong></span>. Starting with MySQL 5.5, the InnoDB Plugin is merged back into the MySQL code base as the built-in InnoDB storage engine (known as InnoDB 1.1).</p><p style="font-size:13px;color:rgb(0,0,0);font-family:Helvetica, Arial, sans-serif;">This distinction is important mainly in MySQL 5.1, where a feature or bug fix might apply to the InnoDB Plugin but not the built-in InnoDB, or vice versa.</p><p style="font-size:13px;color:rgb(0,0,0);font-family:Helvetica, Arial, sans-serif;">See Also <a href="http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_innodb" rel="external nofollow">InnoDB</a>, <a href="http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_plugin" rel="external nofollow">plugin</a>.</p></div></blockquote><p> </p><p>Simply remove this line if you have in your my.cnf</p><p> </p><pre class="ipsCode prettyprint">
ignore_builtin_innodb
</pre><p>Error 3: [ERROR] Couldn't load plugin named 'innodb' with soname 'ha_innodb_plugin.so'.</p><p> </p><p>Remove below line from your old my.cnf</p><p> </p><pre class="ipsCode prettyprint">
plugin-load=innodb=ha_innodb_plugin.so </pre><p> </p><p>Error 4: /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'</p><p> </p><p>Use charset_name as the default character set. This option is deprecated in favor of --character-set-server. See Section 9.5, “Character Set Configuration”. --default-character-set was removed in MySQL 5.5.3. </p><p> </p><p><a href="http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_default-character-set" rel="external nofollow">http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_default-character-set</a></p><p> </p><p>Error 5: If you are getting permissions errors you can always start MySQL Server using this:</p><p> </p><pre class="ipsCode prettyprint">
/usr/sbin/mysqld --skip-grant &amp; </pre><p> </p><p>Don't panic if your MySQL server doesn't start after upgrade. Just keep checking logs and see where is the issue and try to resolve it. Took me a few minutes to figure the issue out but logs are your best friend during upgrade.</p><p> </p><p>Note: Never forget to take back ups before upgrade.</p>]]></description><guid isPermaLink="false">2560</guid><pubDate>Thu, 14 Mar 2013 07:36:27 +0000</pubDate></item><item><title>Map rotation syntax and example - Enemy Territory</title><link>https://mygamingtalk.com/topic/771-map-rotation-syntax-and-example-enemy-territory/</link><description><![CDATA[<p>Objective Rotation:</p><p></p><pre class="ipsCode">
set d1 "set g_gametype 2 ; map sw_oasis_b3 ; set nextmap vstr d2"
set d2 "set g_gametype 2 ; map mlb_daybreak ; set nextmap vstr d3"
set d3 "set g_gametype 2 ; map supplydepot2 ; set nextmap vstr d4"
set d4 "set g_gametype 2 ; map mlb_temple; set nextmap vstr d5"
set d5 "set g_gametype 2 ; map baserace; set nextmap vstr d6"
set d6 "set g_gametype 2 ; map et_mor2_night_final; set nextmap vstr d7"
set d7 "set g_gametype 2 ; map venice_ne4; set nextmap vstr d8"
set d8 "set g_gametype 2 ; map fueldump; set nextmap vstr d9"
set d9 "set g_gametype 2 ; map UJE_00 ; set nextmap vstr d10"
set d10 "set g_gametype 2 ; map goldrush ; set nextmap vstr d1"
vstr d1</pre><div></div><p></p><p> </p><p> </p><p>Stopwatch Rotation:</p><p> </p><p></p><pre class="ipsCode">
// WATCHDOG
set com_watchdog_cmd "vstr m1r1 ; say watchdog found no map running - restarted mapcycle"
// MAP
set m1r1 "g_gametype 3; map oasis; set nextmap vstr m1r2"
set m1r2 "map_restart 0; set nextmap vstr m2r1"
set m2r1 "g_gametype 3; map goldrush; set nextmap vstr m2r2"
set m2r2 "map_restart 0; set nextmap vstr m3r1"
set m3r1 "g_gametype 3; map radar; set nextmap vstr m3r2"
set m3r2 "map_restart 0; set nextmap vstr m4r1"
set m4r1 "g_gametype 3; map railgun; set nextmap vstr m4r2"
set m4r2 "map_restart 0; set nextmap vstr m5r1"
set m5r1 "g_gametype 3; map supplydepot; set nextmap vstr m5r2"
set m5r2 "map_restart 0; set nextmap vstr m6r1"
set m6r1 "g_gametype 3; map caen; set nextmap vstr m6r2"
set m6r2 "map_restart 0; set nextmap vstr m1r1"
vstr m1r1
</pre><div></div><p></p><p> </p><p> </p><p>m1r1 and so on are known as a string library, kind of like a name given to a string of commands - tell the game to run the 'name' and it runs the string of commands associated with it. What basically happens here is the engine stores these lines kind of like "m1r1 command means: set g_gametype to 3, load map oasis and set 'nextmap' to run 'm1r2'". The  very last line of the rotation is "vstr m1r1", which tells the engine to actually execute the line m1r1, which will startup the map rotation.</p><p> </p><p>Hence:</p><p>g_gametype is set to 3, Oasis is loaded, and once the round of Oasis is finished, it runs "nextmap" which has been set to run m1r2, whereupon the map is restarted the the map cycle continues.  </p><p> </p><p> </p><p>Campaign rotation:</p><p> </p><p>For a campaign rotation, it is fairly similar up to this point. Here is an example of a roation that runs both of the official campaigns, one after the other:</p><p></p><pre class="ipsCode">

// CAMPAIGN ROTATION - official campaigns
// WATCHDOG
set com_watchdog_cmd "vstr d_initial ; say watchdog found no map running - restarted mapcycle"
// MAP
set d1 "campaign cmpgn_northafrica ; set nextcampaign vstr d2"
set d2 "campaign cmpgn_centraleurope ; set nextcampaign vstr d1"
set d_initial "set g_gametype 4 ; map oasis ; set nextcampaign vstr d2"
vstr d_initial
// END CAMPAIGN ROTATION
</pre><div></div><p></p><p> </p><p>Notice the similarity with the stopwatch rotation  - really its almost exactly the same. The important things to notice is that: g_gametype is 4, and the campaign mode version of nextmap is "nextcampaign". Secondly, also notice the first campaign being loaded is northafrica, which starts with Oasis, and in the d_initial line the map there (which is first loaded) is also Oasis.</p>]]></description><guid isPermaLink="false">771</guid><pubDate>Fri, 02 Sep 2011 01:36:34 +0000</pubDate></item><item><title>MySQL Innodb config optimization tips</title><link>https://mygamingtalk.com/topic/319-mysql-innodb-config-optimization-tips/</link><description><![CDATA[<p>1. innodb_flush_log_at_trx_commit = 2 or 0. </p><p> </p><p>1 = devastating db write performance</p><p> </p><p>"If the value of innodb_flush_log_at_trx_commit is 0, the log buffer is written out to the log file once per second and the flush to disk operation is performed on the log file, but nothing is done at a transaction commit."</p><p> </p><p>"The default value of 1 is the value required for ACID compliance."</p><p> </p><p>If data lost of last one second is not of that much concern then user value 0 or use value 2. InnoDB can be run in a mode where it has lower reliability but in some cases higher performance. Setting innodb_flush_log_at_trx_commit to 0 switches to a mode where transactions are not committed to disk before control is returned to the caller. Instead, disk flushes happens on a timer.</p><p> </p><p>Run a <em>SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit'</em> query to get the current value.</p><p> </p><p>2. innodb_buffer_pool_size 70-80% of memory is a safe bet. I set it to 6GB on 8GB box if you are only running website/forums and not game servers.</p><p> </p><p>3. innodb_log_file_size â€“ This depends on your recovery speed needs but 256M seems to be a good balance between reasonable recovery time and good performance</p><p> </p><p>4. innodb_log_buffer_size=4M 4M is good for most cases unless youâ€™re piping large blobs to Innodb in this case increase it a bit.</p><p> </p><p>5. innodb_thread_concurrency=8 Even with current Innodb Scalability Fixes having limited concurrency helps. The actual number may be higher or lower depending on your application and default which is 8 is decent start.</p><p> </p><p>6. innodb_flush_method=O_DIRECT Avoid double buffering and reduce swap pressure, in most cases this setting improves performance. Though be careful if you do not have battery backed up RAID cache as when write IO may suffer.</p><p> </p><p>7. innodb_file_per_table â€“ If you do not have too many tables use this option, so you will not have uncontrolled innodb main tablespace growth which you canâ€™t reclaim. This option was added in MySQL 4.1 and now stable enough to use.</p><p> </p><p>8. Also check if your application can run in READ-COMMITED isolation mode â€“ if it does â€“ set it to be default as transaction-isolation=READ-COMMITTED. This option has some performance benefits, especially in locking in 5.0 and even more to come with MySQL 5.1 and row level replication.</p><p> </p><p>Note: Don't ever convert DB to Innodb engine. It will kill the performance. There are reasons why MySQL comes with MyISAM, InnoDB and Heap engine. </p><p> </p><p>Only use Innodb for the tables having too many inserts/deletes. </p><p>Innodb = Row Level Locking</p><p>MyISAM = Table Level Locking</p><p>Heap = Good for session. </p><p> </p><p>InnoDB is the default storage engine for MySQL as of MySQL 5.5</p><p> </p><p>Few notes:</p><p>1. InnoDB doesn't support full-text searches. You can use 3rd party search app for it. sphinx can be good solution. </p><p>2. InnoDB will be more I/O bound. Make sure you have good RAID system set up if you have more then 300-500 QPS.</p><p>3. MyISAM uses table-level locking on updates and deletes to any existing row, with an option to append new rows instead of taking a lock and inserting them into free space. InnoDB uses row-level locking. For large database applications where many rows are often updated, row-level locking is crucial because a single table-level lock significantly reduces concurrency in the database.</p><p>4. MyISAM relies on the filesystem block cache for caching reads to the data rows and indexes, while InnoDB does this within the engine itself, combining the row caches with the index caches.</p>]]></description><guid isPermaLink="false">319</guid><pubDate>Wed, 05 Jan 2011 16:03:30 +0000</pubDate></item><item><title>Query Performance Tips</title><link>https://mygamingtalk.com/topic/318-query-performance-tips/</link><description><![CDATA[<p>1. Use Slow Query Log (always have it on!)</p><p>2. Don't use DISTINCT when you have or could use GROUP BY</p><p>3. Don't use ORDER BY RAND() if you have &gt; ~2K records</p><p>4. Use SQL_NO_CACHE when you are selecting frequently updated data or large sets of data</p><p>5. Avoid wildcards at the start of LIKE queries. It kills the performance on large size of DB.</p><p>6. Avoid correlated subqueries and in select and where clause (try to avoid in)</p><p>7. No calculated comparisons -- isolate indexed columns</p><p>8. ORDER BY and LIMIT work best with equalities and covered indexes</p><p>9. Separate text/blobs from metadata, don't put text/blobs in results if you don't need them</p><p>10. Derived tables (subqueries in the FROM clause) can be useful for retrieving BLOBs without sorting them. (Self-join can speed up a query if 1st part finds the IDs and uses then to fetch the rest)</p><p>11. Know when to split a complex query and join smaller ones</p><p>12. Delete small data at a time if you can to avoid table locks.</p><p>13. Make similar queries consistent so cache is used</p><p>14. Have good SQL query standards</p><p>15. Turning OR on multiple index fields (&lt;5.0) into UNION may speed things up (with LIMIT), after 5.0 the index_merge should pick stuff up.</p><p>16. Don't use COUNT * on Innodb tables for every search, do it a few times and/or summary tables, or if you need it for the total # of rows, use SQL_CALC_FOUND_ROWS and SELECT FOUND_ROWS()</p><p>17. Avoid using IN(...) when selecting on indexed fields, It will kill the performance of SELECT query.</p><p>18. Use stored procedures to avoid bandwidth wastage.</p>]]></description><guid isPermaLink="false">318</guid><pubDate>Wed, 05 Jan 2011 15:44:06 +0000</pubDate></item></channel></rss>
