加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

在CakePHP中确定要在MySQL中索引的列

发布时间:2021-04-03 13:35:54 所属栏目:MySql教程 来源:网络整理
导读:我有一个Web应用程序,每个页面都会触发相当多的查询.随着更多数据被添加到数据库中,我们注意到页面的加载时间越来越长. 在检查PhpMyAdmin >状态 >加入,我们注意到这一点(数字为红色): Select_full_join 348.6 k不使用索引的联接数.如果此值不为0,则应仔细

我有一个Web应用程序,每个页面都会触发相当多的查询.随着更多数据被添加到数据库中,我们注意到页面的加载时间越来越长.

在检查PhpMyAdmin – >状态 – >加入,我们注意到这一点(数字为红色):

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;

应该为t1.name和t2.name编制索引.

以下是一些很好的读物:

Optimizing MySQL: Importance of JOIN Order

How to optimize MySQL JOIN queries through indexing

一般来说,这家伙的网站也有一些很好的信息.

MySQL Optimizer Team

编辑:这总是有用的.

如果您有权访问您的服务器设置,请查看:

MySQL Slow Server Logs

一旦你有慢速查询的日志,你可以使用解释来查看需要索引的内容.

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读