首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

多线程操作同一结果集需不需要同步解决方案

2012-02-11 
多线程操作同一结果集需不需要同步在一个数据库连接上所得到的结果集,如果需要多线程分别从这个结果集中读

多线程操作同一结果集需不需要同步
在一个数据库连接上所得到的结果集,如果需要多线程分别从这个结果集中读取记录,那么需不需要在应用程序中考虑多线程的同步?
另外,如果在上面的问题中取得结果集用的是 mysql_use_result 而不是 mysql_fetch_result,那么在另外一个数据库连接中能不能对相应的数据库表进行 增删查改 的操作呢?

[解决办法]
在一个数据库连接上所得到的结果集,如果需要多线程分别从这个结果集中读取记录,那么需不需要在应用程序中考虑多线程的同步?
要看你的具体应用。你可以在MYSQL上设置事务的隔离级别。

另外,如果在上面的问题中取得结果集用的是 mysql_use_result 而不是 mysql_fetch_result,那么在另外一个数据库连接中能不能对相应的数据库表进行 增删查改 的操作呢?
看你的具体操作代码,如果使用了锁或者事务,则会受影响。 如果都只是简单的 select 则没有问题。
[解决办法]

探讨

LS能不能再说得详细一些,我还是不太明白。

“具体的应用”怎么理解呢?我的程序就是多线程在同一连接上的结果集中读取数据,然后对记录进行处理。另外,其他的应用程序可能随时会需要更新这张数据库表,但那些程序不是我负责的。
简单来说,也就是我的应用程序只读取数据,但别人的应用程序会更新数据库表。不同的应用程序是在不同的数据库连接上来操作的。
在这样的情况下,我是否需要……

热点排行