我尝试在我的 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/