如何减少PHP中的程序执行时间以及如何提高性能

时间:2010-10-21 07:57:55

标签: php mysql

我在for循环中运行mysql select queries 3500次,并对PHP中的查询返回的值执行操作。该过程需要16秒才能执行循环。任何减少执行时间和提高性能的建议。谢谢!

4 个答案:

答案 0 :(得分:5)

尽量减少查询量,您真的需要3500个查询吗?或者您可以在一次调用中选择所有行吗?

如果没有,您可以通过使用预准备语句获得一些性能PDO为您提供了一个易于使用的界面。

http://dk2.php.net/manual/en/book.pdo.php

http://dk2.php.net/manual/en/pdo.prepare.php

如果需要更具体,请粘贴一些代码:)

答案 1 :(得分:2)

重构你的MySQL选择,这样你只执行一次,而不是3500次。告诉我们有问题的查询,我们也许可以帮助您做到这一点

答案 2 :(得分:0)

我遇到了和你一样的问题。

在操作期间打开的mysql连接数量至关重要。尝试在一个连接中执行所有操作。如果需要多个连接,请改用mysql_pconnect。

避免使用mysql无法缓存的命令。 (例如NOW())有关此类命令的列表,请查看此处的链接:http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html 我通过将查询从实时更改为每小时来实现此目的。

尽可能避免使用大型语句,尝试将其分解为较小的语句并使用代码将它们绑定在一起。声明越小,缓存越容易,从而带来更好的性能。

最后,如果您需要快速解决方案,memcached是一个非常好且快速实施的解决方案。

一般准则是,如果你能执行更少和更简单的陈述,那就更好了。

答案 3 :(得分:0)

使用选择查询,其中键入(val1,val2,....,val3500) 这样,您将只执行两个查询,而不是3500