PHP / MySQL Database Optimization Function

By  on  

After frequent record deletion from your MySQL database tables, your tables can acquire overhead. Overhead is empty space left inside the database table due to the deletions. A great way to speed up your MySQL database, not to mention keep it compact, is to use a simple PHP function to optimize your database tables:

/*  OPTIMIZE ALL TABLES  */
function optimize_database($DATABASE_LINK) {
	$result = mysql_query('SHOW TABLES', $DATABASE_LINK) or die('Cannot get tables');
 	while($table = mysql_fetch_row($result)) {
		mysql_query('OPTIMIZE TABLE '.$table[0], $DATABASE_LINK) or die('Cannot optimize '.$table[0]);
	}
}

I use the $DATABASE_LINK variable to keep my connection throughout my PHP script. Obviously it's not required, so you can modify the above function if you don't keep that variable.

Recent Features

  • By
    Send Text Messages with PHP

    Kids these days, I tell ya.  All they care about is the technology.  The video games.  The bottled water.  Oh, and the texting, always the texting.  Back in my day, all we had was...OK, I had all of these things too.  But I still don't get...

  • By
    CSS Filters

    CSS filter support recently landed within WebKit nightlies. CSS filters provide a method for modifying the rendering of a basic DOM element, image, or video. CSS filters allow for blurring, warping, and modifying the color intensity of elements. Let's have...

Incredible Demos

  • By
    Create a Photo Stack Effect with Pure CSS Animations or MooTools

    My favorite technological piece of Google Plus is its image upload and display handling.  You can drag the images from your OS right into a browser's DIV element, the images upload right before your eyes, and the albums page displays a sexy photo deck animation...

  • By
    HTML5’s placeholder Attribute

    HTML5 has introduced many features to the browser;  some HTML-based, some in the form of JavaScript APIs, but all of them useful.  One of my favorites if the introduction of the placeholder attribute to INPUT elements.  The placeholder attribute shows text in a field until the...

Discussion

  1. Dear sir,
    where we use this function?
    i need help, my hosting SQl is overhead
    i use this function in my function Class php file and upload it
    but i see it still overhead
    let me know how to use it

    reply back

    • With a PHP script, you can have it as a stand alone (with connection info), or you can put it as part of your code, as I have.

  2. Great script. I was looking for a way to compact a MySQL database, and this is perfect. Thanks.

  3. trimd

    This article is like my ass,

    its big shit

  4. Freed

    @trimd: hei trimd, you so stupid!

    if you want fast compact you can make a program with delphi or VB6 to compact it. i make a application to compact my mysql database 370MB (7years period) become 90MB. Look more carefully trimd.

    make a little application to compact it, use Delphi or VB6
    don’t look others samples
    grow trimd !

    for more explanation go to mysql site.
    or dev forum for VB

    try to become great programmer.
    not like junior!

  5. Thanks, for the scripts because so far I have only seen two, the one for backing up the tables and this one above. They all look to be great and I’m use them in the my project.

  6. sohail

    Thanks. I grabbed this code and created a WP plugin. Thanks again. :-)

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!