Heim  >  Artikel  >  Backend-Entwicklung  >  在update/delete等查询时使用mysql_unbuffered_query的用意是?

在update/delete等查询时使用mysql_unbuffered_query的用意是?

WBOY
WBOYOriginal
2016-06-06 20:52:351209Durchsuche

discuz 源码中多处update/delete的查询使用了mysql_unbuffered_query,用意是什么呢?
依手册(http://php.net/manual/en/function.mys...)描述,和mysql_query主要区别是不会一次性获取并缓存查询结果
但对update/delete查询,它和mysql_query一样返回bool值,看起来没有必要特地用mysql_unbuffered_query

回复内容:

discuz 源码中多处update/delete的查询使用了mysql_unbuffered_query,用意是什么呢?
依手册(http://php.net/manual/en/function.mys...)描述,和mysql_query主要区别是不会一次性获取并缓存查询结果
但对update/delete查询,它和mysql_query一样返回bool值,看起来没有必要特地用mysql_unbuffered_query

你是对的,在update/delete中完全没有必要使用mysql_unbuffered_query函数,它们的区别仅仅在于客户端对select的处理上。

mysql_query会将你的select语句中的结果一次全部自动seek出来放到客户端内存里,而mysql_unbuffered_query则只保存一个当前的resource,你每次fetch的时候,实际上都有一次服务器通讯。这两者对update/delete的处理是相同的,因为写操作返回的只是成功状态,没有需要缓存的结果集。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn