【发布时间】:2011-03-04 08:29:03
【问题描述】:
我有一个数据库,需要每 24 小时自动优化一次
我该怎么办?
【问题讨论】:
标签: php mysql database optimization
我有一个数据库,需要每 24 小时自动优化一次
我该怎么办?
【问题讨论】:
标签: php mysql database optimization
您可以将优化过程放入每 24 小时运行一次的 cron 作业中。这个 cron 作业可以是 PHP(或您喜欢的任何其他语言)。
【讨论】:
我写了一门课
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();
【讨论】: