是这样吗?
如果是这样这样网络开销是不是有点大?
1
tms 2020-05-14 02:05:24 +08:00
准确说是 next 一次从 buffer 里取一条数据到 lastcols,至于你说的数据库和客户端的网络开销和交互取决于 buffer,是 driver 的事情,由 client 和 server 端配合来进行管理。
sql 的 next 定义参考 https://golang.org/src/database/sql/sql.go?s=77737:77764#L2732 对于 mysql 如 go-sql-driver 这个 driver 在 packets.go 里有 readRow 调用 readPacket 来管理 buffer.go 定义的 buffer 。 对应 mysql server 端的 https://dev.mysql.com/doc/internals/en/com-query-response.html 其他数据库 server 和 driver,也可以对应研究一下。 |