代码改变世界

推荐排行榜

浅谈MySQL load data local infile细节 -- 从源码层面

2014-03-23 21:01 by lispking, 5239 阅读, 收藏,
摘要: 相信大伙对mysql的load data local infile并不陌生,今天来巩固一下这里面隐藏的一些细节,对于想自己动手开发一个mysql客户端有哪些点需要注意的呢?首先,了解一下流程:3个点:1、Is '/' exists?对于客户端来说,在文件发送前是先检查一下文件是否存在;2、filename前建议加上绝对路径;3、空包,表示命令已执行完毕。接下来,一起来学习下官方源码(版本5.5.36)是如何实现该流程?由于篇幅关系,只贴出关键部分,其他读者自行查阅源码。首先,看看客户端的核心实现,源码在libmysql\libmysql.c的handle_local_infil 阅读全文

浅谈MySQL压缩协议细节--从源码层面

2014-03-16 22:34 by lispking, 3750 阅读, 收藏,
摘要: 压缩协议属于mysql通讯协议的一部分,要启用压缩协议传输功能,前提条件客户端和服务端都必须要支持zlib算法,那么,现在有个问题,假如服务端已经默认开启压缩功能,那原生客户端在连接的时候要如何才可启用该功能呢?答案很简单只需要加上-C(注意是大写C)或者--compress=true选项即可,事情看似简单,但是背后的设计却值得大家深入挖掘,启动后到底发生什么事情了,对网络传输性能上的提升到底有什么影响呢? 趁着风和日丽的今天,正适合在西湖边上一边泡着龙井、一边听着音乐、一边晒着太阳来享受一下这里面的真相,好,废话不多说,咱们开始吧。 首先,当客户端加上-C时,就会在Capabi... 阅读全文