很多时候觉着,一个库里面的表很多,连接上数据库的时候会很慢

比如一个库里面有很多的表,在用客户端连接的时候

会卡在如下的界面

图片

这并不是表的数目影响了连接的性能

而是默认连接的时候,MySql提供了一个库名和表名自动补全的功能

因为这个功能,所以会在连接上后

执行show databases;

切换到db1库

执行show tables

构建一个本地的hash表

这样就导致了连接的慢

如果在连接命令上加上-A,就可以关闭这个自动补完的功能,客户端快递连接

但是就没法在数据表名或者库名的时候,使用TAB键自动补完了

或者连接的时候加上 -quick

但是并不建议加上,

是因为MySQL客户端发送请求后,接受服务端的返回结果有两种,

一种是本地缓存,在本地开一片,把结果存起来,如果是API开发,就是mysql_stroe_result

一种是不缓存,读一个处理一个,如果是API开发,就是mysql_use_result方法

如果加上-quick采用第二个处理方式,就会因为服务器发送结果被阻塞了,导致服务器端变慢

但是客户端变快了啊

加上这个-quick,会跳过表名自动补完,直接连接,减少本地的内存占用

也不会将执行命令记录在本地的命令历史文件

发表评论

邮箱地址不会被公开。 必填项已用*标注