很多时候觉着,一个库里面的表很多,连接上数据库的时候会很慢
比如一个库里面有很多的表,在用客户端连接的时候
会卡在如下的界面
这并不是表的数目影响了连接的性能
而是默认连接的时候,MySql提供了一个库名和表名自动补全的功能
因为这个功能,所以会在连接上后
执行show databases;
切换到db1库
执行show tables
构建一个本地的hash表
这样就导致了连接的慢
如果在连接命令上加上-A,就可以关闭这个自动补完的功能,客户端快递连接
但是就没法在数据表名或者库名的时候,使用TAB键自动补完了
或者连接的时候加上 -quick
但是并不建议加上,
是因为MySQL客户端发送请求后,接受服务端的返回结果有两种,
一种是本地缓存,在本地开一片,把结果存起来,如果是API开发,就是mysql_stroe_result
一种是不缓存,读一个处理一个,如果是API开发,就是mysql_use_result方法
如果加上-quick采用第二个处理方式,就会因为服务器发送结果被阻塞了,导致服务器端变慢
但是客户端变快了啊
加上这个-quick,会跳过表名自动补完,直接连接,减少本地的内存占用
也不会将执行命令记录在本地的命令历史文件