我制作了一个简单的管理模块来查询数据库以显示结果。我通过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/