2009-08-22 80 views
1

我有我的PHP脚本运行在WAMP服务器上。 下面是我在做什么对数据库写入的响应缓慢从PHP

  1. 查询数据库,并得到一组行的PHP脚本A(我已经设置了参数或者set_time_limit(0)//无限时间脚本来执行)根据
  2. 结果集我执行Tcl脚本的结果的每一行设置
  3. 的TCL脚本需要大约一分钟来执行,它也有一些数据插入到同一数据库现在
  4. 同时当TCL脚本执行,如果我执行另一个写入数据库的PHP脚本,由于响应时间太慢,我无法做到这一点。它的PHP脚本A/TCL脚本INFACT等待在此期间,但是完成
  5. ,从数据库中读取细而快

有没有人有什么建议吗?

问候, 大额牛

+0

数据库是MySQL。 – Vidya 2009-08-22 14:15:17

+0

你使用这些表的引擎是什么?任何有问题的脚本都可以使用事务吗? – 2009-08-22 14:22:39

+4

如果您使用myisam表,则在写入表时会锁定整个表。您可能正在执行一些长时间运行的更新或instert语句,或者在代码中明确锁定表。或者你正在使用innodb并且长时间运行交易 – nos 2009-08-22 14:25:13

回答

4

甲会话不能被并发脚本共享。任何尝试session_start()的新请求都会在此处挂起,等待上一个脚本结束。

由于您的脚本正在花费未定的时间来结束,因此在从$ _SESSION超全局获取所需的所有信息之后,它的一个好主意是session_write_close(),因此并发请求不会再挂起。

+0

非常感谢你的回复。有效 !!! – Vidya 2009-08-23 02:15:13