Php MySQL更新连接语句速度问题

Php MySQL更新连接语句速度问题,php,mysql,join,sql-update,Php,Mysql,Join,Sql Update,我在MySQL数据库中有两个表,似乎无法非常有效地使用它们。第一个是包含25000行和以下字段的付款表 ID, Email, Type 第二个是用户表,它有2000行和以下内容: ID, Email, AccessDate 使用MySQL JOIN语句,我将其组合在一起,它工作得非常完美: 更新用户内部加入用户的付款。电子邮件=付款。电子邮件集 AccessDate=现在付款的位置。Type='success' 问题是,在本地机器上执行查询大约需要95秒。关于如何避开这个速度问题,有什么建议

我在MySQL数据库中有两个表,似乎无法非常有效地使用它们。第一个是包含25000行和以下字段的付款表

ID, Email, Type
第二个是用户表,它有2000行和以下内容:

ID, Email, AccessDate
使用MySQL JOIN语句,我将其组合在一起,它工作得非常完美:

更新用户内部加入用户的付款。电子邮件=付款。电子邮件集 AccessDate=现在付款的位置。Type='success'


问题是,在本地机器上执行查询大约需要95秒。关于如何避开这个速度问题,有什么建议吗?

首先,您可以使用EXPLAIN来了解乐观主义者在做什么。您必须将代码重新构造为SELECT:

EXPLAIN SELECT * FROM users INNER JOIN payments ON users.Email=payments.Email WHERE payments.Type='success'

最可能的情况是联接没有可以使用的索引。我有索引吗?也许你可以把它添加到Join子句中?或者可能为两个表上的电子邮件列添加索引?

在您的表上添加一些索引您可以为两个表中的每个表发布“从表中显示索引”的结果吗?很抱歉,我可能不知道,但是每个表中的ID字段是否也不算作索引,因为它也是主键?是的!在Email列中添加了索引,它的执行时间不到半秒。。。。你是个明星!谢谢贾尔斯!