mysql - phpMyadmin 查询执行时间

标签 mysql

我尝试在我的 Cloud VPS cPanel phpMyadmin 中运行以下查询

SELECT bankcode, bankname 
FROM newbankdetails 
WHERE 
    type='DB' AND
    bankcode IN ( SELECT drawingbankname 
                  FROM dd1 
                  WHERE entrydate BETWEEN '01/04/2014' AND '30/04/2014' 
                    AND paymentmode='DD' 
                    AND state='TAMIL NADU' )

它需要非常非常长的时间将近 5 到 6 个小时,并且说超时或持续运行数天并且不显示任何错误也不显示结果。

而它在我的本地机器 xampp 中完美运行

只有在处理 12GB 左右的大表时才会发生这种情况

如何加快速度并在本地主机 xampp 中立即显示结果

最佳答案

我认为,用 LEFT JOIN 替换 IN 更有意义,如下所示:

SELECT 
    bankcode, bankname 
FROM 
    newbankdetails nd
    LEFT JOIN
    dd1 ON nd.bankcode = dd1.drawingbankname
WHERE 
    nd.type='DB' 
    AND
    dd1.entrydate BETWEEN '01/04/2014' AND '30/04/2014' 
    AND 
    dd1.paymentmode = 'DD' 
    AND 
    dd1.state = 'TAMIL NADU' 

我无法测试它,但我认为使用 dd1.paymentmode = 'DD' 会自动删除 dd1.paymentmode IS NULL 的行,因为使用 左连接

关于mysql - phpMyadmin 查询执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29918189/

相关文章:

PHP MySQL 7 天,每周,周一至周五分页日历?

mysql - 尝试在 View 创建中添加更新

mysql - 比较mysql表结构(字段顺序)

php - 在 while 循环中显示表格

mysql - 如何修复错误 "You can' t specify target table for update in FROM clause"when update a SQL table

mysql - 从 docker-compose 中的 ASP.NET Core 2 Web 应用程序连接到 MySql 8

PHP - mysql_fetch_assoc 是否返回二维数组?

mysql - 如何编写 CakePHP 模型查询

mysql - 如何在mysql中进行嵌套选择查询

c# - 无法正确连接字符串