• 技术文章 >数据库 >MySQL

    mysql中通信协议的介绍

    小妮浅浅小妮浅浅2021-05-20 17:14:36原创415

    1、说明

    MySQL客户端/服务器通信协议是半双工的:无论何时,无论是服务器向客户端发送数据,还是客户端向服务器发送数据,这两个动作都不能同时发生。当一端开始发送信息时,另一端必须接收完整的信息才能作出反应,因此我们不能也不能把一条信息切成小块独立发送,也不能进行流量控制。

    2、分类

    (1)客户端用一个单独的数据包将查询请求发送给服务器,所以当查询语句很长的时候,需要设置max_allowed_packet参数。但是需要注意的是,如果查询实在是太大,服务端会拒绝接收更多数据并抛出异常。

    (2)与之相反的是,服务器响应给用户的数据通常会很多,由多个数据包组成。但是当服务器响应客户端请求时,客户端必须完整的接收整个返回结果,而不能简单的只取前面几条结果,然后让服务器停止发送。

    因而在实际开发中,尽量保持查询简单且只返回必需的数据,减小通信间数据包的大小和数量是一个非常好的习惯,这也是查询中尽量避免使用SELECT *以及加上LIMIT限制的原因之一。

    以上就是mysql中通信协议的介绍,希望对大家有所帮助。更多编程基础知识学习:python学习网

    专题推荐:mysql通信协议
    上一篇:mysql使用表锁的两种情况 下一篇:mysql查询的执行过程

    相关文章推荐

    • mysql服务如何删除?• python爬虫数据存入mysql• mysql执行顺序• mysql教程 查看数据库创建信息• mysql左连接和右连接的区别• mysql中有几种粒度锁?• mysql两种属性锁的介绍• mysql锁的两种不同状态• SQL如何在mysql中查询优化• mysql中MVCC是什么意思• mysql分库分表的切分方法• mysql主从复制如何理解• mysql读写分离是什么• mysql数据库有哪些调优方法• MySQL常见命令的整理• MySQL条件查询是什么• mysql常见单行函数有哪几类• mysql分组查询是什么• mysql事务中有哪些常见问题• mysql间隙锁是什么• mysql共享锁是什么• mysql中如何共享读锁• mysql使用表锁的两种情况
    品易云

    全部评论我要评论

  • 取消发布评论发送
  • 

    Python学习网