簡體   English   中英

如何在PHP中自動優化mysql數據庫?

[英]How to optimize mysql database automatically in PHP?

我有一個數據庫,需要24小時自動優化

我該怎么辦?

我寫了一堂課



class DbPerformance
{
    var $TablesHaveOverHead = array();
    function DbPerformance()
    {
        if (date("H") == '00')
        {
            $this->GetOverheadTables();
            $this->OptimizeDatabase();
        }
    }
    function GetOverheadTables()
    {
        $result = mysql_query("SHOW TABLE STATUS ");
        while ($row = mysql_fetch_assoc($result))
        {
            if ($row["Data_free"] > 0)
            {
                $this->TablesHaveOverHead[] = $row['Name'];
            }
        }
    }
    function OptimizeDatabase()
    {
        if (!empty($this->TablesHaveOverHead))
        {
            $tables = implode(",", $this->TablesHaveOverHead);
            mysql_query("OPTIMIZE TABLE $tables;");
        }
    }
}
$optimise = new DbPerformance();

您可以將優化過程放入每24小時運行一次的cron作業中。 這個cron作業可以是PHP(或您喜歡的任何其他語言)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM