[笔记]MYSQL网络协议

 MYSQL网络协议分,压缩和非压缩。
非压缩:3个字节记录数据长度+1个字节记录包序号+数据
压缩  :3个字节数据长度+1个字节包序号+3个字节数据原始长度+数据

MYSQL处理数据的时候是,先把数据包构造成非压缩协议格式的, 然后 再继续把数据包修改成压缩格式

例1:首先数据肯定大于50个字节,因为小于50字节是不压缩的。
    如果 A---B  他是100字节
    首先构造成 3字节(记录长度100)+ packet number + 100字节,这就是非压缩了
    这时候客户端用了压缩,那么net->buffer 就是 已经存储了构造好的非压缩数据
    问题:那这个构造好的非压缩数据,他在修改为压缩数据的时候,已经构造进去的前面4个字节是怎么处理的
    me:条件能判断出buffer中是非压缩的
        根据数据重新计算:3个字节数据长度+3个字节数据原始长度
        原"3个字节记录数据长度"直接丢弃
            



请使用浏览器的分享功能分享到微信等