分享到:
发表于 2009-06-22 16:02:17 楼主 | |
一个系统有频繁的mysql操作,想让它第一次连接后就永远的打开着,接下来的mysql操作就用这个打开的句柄就好了。。系统是多线程的。。会持续运行一年半年这样子。。 |
|
楼主热贴 |
发表于 2009-06-22 16:02:41 1楼 | |
![]() ========================= 刚刚搜索了一下,说可以用mysql_ping(),不过使用这个函数要设置MYSQL_OPT_RECONNECT为1么,听说设置这个会有副作用。。 |
|
发表于 2009-06-22 16:02:53 2楼 | |
记得原来在安装qmail的时候 有个数据库长连接的选项 不知道是不是这个意思 |
|
发表于 2009-06-22 16:03:03 3楼 | |
本来就是保持连接的啊?不懂LZ的意思。 | |
发表于 2009-06-22 16:03:14 4楼 | |
首先区分是大量并发无序的mysql操作, 还是单一进程频繁操作。 如果是并发, 唯一办法就是连接池。 但是连接池的作用不是提高效率, 而是减缓数据库压力, 间接提高效率。 如果单一进程, 还要区分是程序频繁启动,然后数据库操作, 还是单一进程长时间运算需要频繁连接数据库。 前一种根本没好办法,后一种 可以定义 MYSQL *db_mysql, 通过判断指针验证是否还在保持着DB连接。 也可以用信号或启动多线程定时扫描数据库, 保持*db_mysql不timeout. |
|
发表于 2009-06-22 16:03:23 5楼 | |
楼主的问题不太明确。这涉及到mysql pconnect 。这个要看情况的,你注意做什么,用php就可以简单的实现,但是还必须修改相关的配置文件。 | |
发表于 2009-06-22 16:03:32 6楼 | |
您的内容正在火速审核中,请稍等 |
|
发表于 2009-06-22 16:03:44 7楼 | |
永久保持连接基本上是不可能的。像LZ说的时不时的PING下可以。 wait_timeout 的最大值是一年。 不过不可以保证网络或者机器或者其他故障发生。 |
|
发表于 2010-03-10 11:06:30 8楼 | |
更新的问题 |
|
发表于 2011-07-01 19:21:01 9楼 | |
对啊,楼主是用什么方式来写这个呢 | |
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见