运行环境:IIS+WINDOWS XP+PHP+MYSQL做了一个站,里面有个PHP网页(a.php)需要执行一个耗时任务,向数据库插入数十万条数据,这个过程大约十几分钟。在这a.php网页执行的过程中,这个网站的其他网页都不能访问Mysql数据库。现象是:
1、如果其他网页没有与数据库连接,则很快能执行出结果,凡是需要读写数据库的网页,都要等a.php执行完毕后,才能显示结果。
2、如果把phpMyAdmin放在这个网站目录下(用于管理数据库),则在a.php执行的过程中,phpMyAdmin能够成功读写数据库。
我想要的结果是,能像phpMyAdmin那样,能与a.php并发访问数据库,请问怎么操作

解决方案 »

  1.   

    如果理解为浏览器阻塞,那么同网站目录下的phpMyAdmin确定正常访问,非连接Mysql的页面也能正常访问,好像浏览器阻塞的说法有点说不通。
      

  2.   


    你是不是给同个表写数据?
    网站的php是不是用了长链接的方式?
      

  3.   


    在不同的表中进行的操作,a.php用做的是insert操作。
    没有用长连接,用的是mysql_connect(DB_HOST,DB_USER,DB_PASS);这种方式进行的链接。不过,我没有进行手动的关闭,即没有使用mysql_close(),因为我在一些资料上看过,mysql的连接会自动关闭的。
      

  4.   

    里面有个PHP网页(a.php)需要执行一个耗时任务,向数据库插入数十万条数据
    -----------------------------------------------------
    你把这个功能独立出来,或者创建另外一个数据库链接(与网站的数据库链接不同),试试
      

  5.   

    对于数据库,这种情况应该不会发生,至多因为机器负荷的原因造成访问变慢如果你在插入时对表加了锁,访问不了也就是正常的了
    说 phpMyAdmin 可用,并没有说明是否也是对这个表还有一个可能就是 session 了,为排除这个可能性,可重启一个浏览器进程来检测(注意:不是ctrl+n 新建窗口)
      

  6.   

    难道是使用了同一个连接接口? new 一个新的mysql_connect 出来试试。
      

  7.   

    说实话,
    插入十万条数据 对MYSQL来说,小KS了,你还要十分钟……这一点我都想不明白。
      

  8.   

    十万条数据对MYSQL来说小KS了。
    十几分钟……为啥会这么慢呢。