Jump to content

Dedicated / VPS Server, Manage your database

Recommended Posts

This is if you have a Dedicated solution.

Managing your database is obviously important, but you may want to take advantage of some of the great things you can now do

Some of these options need to be adjusted for specific sites as certain things could cause major issues, for example taking my first suggestion below and setting "tmp table size" to a high number would cause something like this to happen. Max user connections set at 200, tmp table size of 100mb would equal a 20gb database running if those connections were at max, be wary of these suggestions and research first.

The first step is taking a look at phpmyadmin > status > all status variables

Next, find your red sections, I am sure there is at least one. A common one is this


The number of temporary tables on disk created automatically by the server while executing statements. If Created_tmp_disk_tables is big, you may want to increase the tmp_table_size value to cause temporary tables to be memory-based instead of disk-based. 


You can then go to Variables in phpmyadmin and navigate to the tmp table size row, depending on your phpmyadmin version (why dont you have the latest!) and click the variable of 16mb it is probably at and up this to 32mb. A great way to avoid these is to also rewrite your queries. too


Next thing you might see is


The number of tables that have been opened. If opened tables is big, your table cache value is probably too small. 


This is an easy fix and could be solved my navigating the same way as above to Variables and finding "table open cache" and adjusting this to a number that would cause this to not increase. Some testing may need to be done


Ok now the fabled innodb discussion. This is merely choice on your part and you should be looking this up, while InnoDB has increased the speed of my game it may slow your down :( Here is a way you change your tables to innodb though if ever interested in doing so. In a truly optimized world you should be using different engines on different tables for different reasons, for example if you have a table that stores data and is rarely accessed, like a log, you should use the Archive engine.

Since this solution was not found by me I will have to link the original article, this is a nice sweet code that converts the tables in your database to innodb for you, I am linking this as the person who wrote this offers warning and suggestions you should read first.



That is all for now as I worked a long shift last night but there are tons more things you an do and hopefully this gets the pot stirring for some other nice methods from users here. Feel free to add your own findings.


One still relevant article on optimizing your mysql queries specifically is this - http://www.openlogic.com/wazi/bid/195905/Tips-and-Tricks-to-Optimize-MySQL

Edited by runthis
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...