Sam*_*dra 5 mysql database indexing cakephp join
我有一个Web应用程序,每个页面都会触发相当多的查询.随着更多数据被添加到数据库中,我们注意到页面的加载时间越来越长.
在检查PhpMyAdmin - > Status - > Joins时,我们注意到了这一点(数字为红色):
Select_full_join 348.6 k不使用索引的联接数.如果此值不为0,则应仔细检查表的索引.
我们正在使用CakePHP + MySQL,并且查询都是自动生成的.
我一直使用的经验法则是,如果我使用连接,我加入的字段需要编入索引.
例如,如果您有如下查询:
SELECT t1.name, t2.salary
FROM employee AS t1
INNER JOIN info AS t2 ON t1.name = t2.name;
Run Code Online (Sandbox Code Playgroud)
应该为t1.name和t2.name编制索引.
以下是一些很好的读物:
一般来说,这家伙的网站也有一些很好的信息.
编辑:这总是有用的.
如果您有权访问您的服务器设置,请查看:
一旦你有慢速查询的日志,你可以使用解释来查看需要索引的内容.