有一个名为“unbuffered”的mysql客户端选项和一个非常简单的关于它的行,“在每次查询后刷新缓冲区。”,在mysql手册中。
我的问题是它的用途是什么?
我尝试读取mysql源代码,它可能是“在每次查询后刷新mysql客户端日志/输出缓冲区”选项,但我不确定。
感谢。
答案 0 :(得分:0)
db的默认行为是在输出任何信息之前缓冲查询。如果您运行一个未提供的查询,则要求mysql以尽可能的方式启动输出。从理论上讲,它只在内存中存储一行,因此您可以在不耗尽内存的情况下流式传输大型表。
缺点是你不能同时运行2个无缓冲的查询。缓冲查询将jjst排入第二个,而未缓冲的语句将引发错误。
另一个缺点是你不知道在重复迭代之前剩下多少行。