我是MySQL和PHP的新手。
我有以下代码来获取日期范围内的数据(第1天到第2天,然后是第2天到第3天,依此类推)。
DELETE
代码按预期工作,但运行速度极慢。我的猜测是因为它需要在每次循环时检查数据库。
有没有办法让它跑得更快?或者我可以进行任何优化吗?
答案 0 :(得分:1)
是的!好问题。虽然您可以像执行的那样执行查询,但更好的选择是使用预准备语句。这将查询分为预准备语句,其变量见此处:
http://www.w3schools.com/php/php_mysql_prepared_statements.asp
实际的语句或查询一次发送到服务器。在此之后,服务器等待您提供变量。
这对性能应用程序(如您的)很有用,服务器可以使用缓存来大大加快性能。它也是安全应用程序的首选方法,可以保护服务器免受注入攻击。
作为最后一点,有很多方法可以优化SQL查询,这只是其中之一。你应该总是使用预备语句。