mysql内建命令快速手记 — 让手指跟上思考的速度(一)
在微信公众号上看到一篇文章说的很好,意思是说,大牛在尝试各种方案的时候可能并没有超神的预测和筛选能力
只是你通常测试一种情况时,大神已经测试了好几种方案了,讲的是"为什么大多数程序员不喜欢写测试"的问题,
作者说,很多人觉得有些东西,谷歌百度一下随便都查得到,就像字典一样,没必要非要死记着,然后讲到
诸如快捷键的使用这些问题……讲了这么多,给笔者的感受,并没有那么简单,当你在查命令,找快捷键甚至按钮
的时候,那些大神们早已写完了测试用例并完成了测试。。。
这是闲话,以前我也爱写命令的手册,后来写多了反而越来越不想记忆,总想着查查查,这次因为mysql挪到linux系统
上做优化,吃了不少苦,特此记下,每周记忆,,我们的最终目的是:让手指跟上思考的速度
命令分mysql命令,看标题,自动区分linux操作mysql的命令,不分先后,慢慢体味,并且记忆他们。
1、show (full)processlist 查看进程,加 full 显示完整的 info字段的sql语句 ,笔者最近处理千万级的数据不断遇到执行
一个命令等待甚至接近1个小时的情况,又无法停止或者关闭(卡死),想关掉某个进程,id字段是该进程的id,kill id即可
2、show (global)variables like "%xxx%" ,查询mysql配置的全局的变量值,xxx通常可以是buffer,innodb等等,其中有些
很关键的值值得去优化设置,比如innodb_buffer_pool_size,key_buffer_size这些
3、exit 退出mysql命令行 到linux正常命令行
4、select max(col_name),min(col_name),count(*) from........最近用这个查数据量特别频繁
5、select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from information_schema.TABLES
where table_schema='db_name' AND table_name='tbl_name';查询db_name这个库下的表tbl_name的数据大小
6、把上面的 DATA_LENGTH 换成 INDEX_LENGTH就是查索引的大小,把两者加起来就是表空间大小(谷歌.ibd文件)
7、information_schema是mysql的系统库之一,做传统软件开发的估计整个工作生涯都不会接触和使用他,但是数据量大
的时候你可能就得用到它了