在mysql查询中加速问题

时间:2015-07-02 08:58:19

标签: php mysql database

我遇到了mysql查询的问题。

public function siswa()
{
    return $this->belongsTo('App\Siswa', 'siswa_id');
}

这是典型的Prestashop查询,由Product :: searchByName()执行。 我有两个数据库,一个是当前数据库,另一个是一个月前的备份。

备份数据库的行数多于当前行,因为某些产品已被删除。备份数据库的ps_product表中有大约8200行,当前数据库中大约有6700行。

当我在备份数据库中执行此查询时,执行时间为1秒,但当我在当前数据库中执行时...执行时间超过300秒!!!

当前数据库出了什么问题?执行时间应该更短!!我生气了!!!!

2 个答案:

答案 0 :(得分:1)

请比较您的旧(备份)和新数据库结构:

  1. 引擎类型(InnoDB和MyISAM),
  2. 索引(包括外键,如果引擎类型为InnoDB)。如果索引存在,请尝试删除它们并再次创建。

答案 1 :(得分:0)

问题是某些表上的索引丢失了,这些索引已损坏。