mysql_pconnect(...)
本函数和 mysql_connect() 雷同。不同的地方在于使用本函数打开数据库时,程序会先寻找是否曾经执行过本函数,若执行过则返回先前执行的 ID。另一个不同的地方是本函数无法使用 mysql_close() 关闭数据库

解决方案 »

  1.   

    我就是说在不用class时可以只connect一次,到页面结束时用close()就可以了。
    但是如果用class时就不是这样了,如前所述。
    能有什么好办法吗?哪样是否比一个页面只用一次connect减少很多负担呢??
      

  2.   

    用pconnect的话即使到另一个页面数据库连接依然存在。最好不要用pconnect的方法。其实要减轻数据库负担的话最好还是使用中间件提供数据库连接池。
      

  3.   

    你需要什么复杂的SQL查询?那用得了这么多mysql_query
      

  4.   

    一直疑惑,为什么用php的不用类写一个连接池呢?
    原理很简单。
    建立一个链表,链表里面放的是连接好的数据库变量$conn
    $conn=mysql_pconnect($Host, $User, $Password);
    用户调用getconn取得一个连接
    于是连接池里面的链表减一个,如果减到0就说明连接池到最大了。
    不能再连。
    至于释放连接,建立连接用户都不比考虑。效率和程序简单多了
      

  5.   

    PHP不支持分布式事物处理,无法做连接池的
      

  6.   

    老实说我用户PHP还没有听说过用链接池的,只是在用ASP与JSP时用到。不过也可以把一个mysql_connect专门取出来与dbSQL 的query分开,不知好不好
      

  7.   

    强烈建议使用:mysql_pconnect();放弃使用:mysql_connect()+mysql_close(),
    提高性能的方法:重写mysql_pconnect()函数,如果mysql_pconnect()不成功,多mysql_pconnect()几次,到一定失败次数放弃连接
      

  8.   

    天哪,要实现数据库连接池最好还是加一层中间件吧,比如用tuxedo。