我制作了一个简单的管理模块来查询数据库以显示结果。我通过PHP使用此查询:

SELECT
*
FROM myTable
WHERE id in(SELECT
            id_registro
            FROM myOtherTable
            where id_forma='".$id_club."' and fecha_visita Like '%".$hoy."%'
            )
order by id DESC


结果显示,但是,它花了很长时间,大约需要2分钟。有人可以帮我吗?
谢谢!

最佳答案

没有看到您的数据库,很难找到一种使它更快的方法。
也许您可以尝试将WHERE IN更改为INNER JOIN。对于这样的事情

SELECT * FROM myTable INNER JOIN myOtherTable
ON (myTable.id = myOtherTable.id_registro)
WHERE myOtherTable.id_forma = '$id_club'
AND myOtherTable.fecha_visita LIKE '%$hoy%'
ORDER BY myTable.id DESC


注意,在将变量放入SQL查询或使用PDO prepare语句之前,应先清理变量。

关于php - mysql上的此查询将永远执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18295190/

10-09 18:13