1.读取服务器变量:
show [global|session] variables;
2.更改非静态(只读)变量:
set [global|session] <variable_name> = <value>;
3.读取状态变量:
show status;
show session status;
show global status;
4.显示给定数据库的表的详情
show table [from <db>] status;
5.显示所有已知插件的名称和当前状态
show plugins;
6.显示系统上运行的所有线程(包括连接),默认显示当前用户的进程,full显示所有进程
show [full] processlist
7.显示指定表的索引基数统计信息
show index from <table>;
8.筛选结果
show session status like '%log%';
9.显示指定存储引擎的日志信息、状态信息
show engine <engine_name> logs
show engine <engine_name> status
10.显示MYSQL发行版的所有可用存储引擎的列表及其状态
show engines;
11.显示被记录到二进制日志的事件
show binlog events [in '<log_file>'] [from <pos>] [limit [<offset>,] <row count>]
12.显示服务器上的二进制列表
show binary logs
13.显示master 的当前配置
show master status
14.show slave hosts
15.show slave status
16.重整Query Cache
flush query cache
17.迭代执行表达式10000遍所花费的时间
select benchmark(10000,"select * from t_account");
18.
[explain |describe] [partitions select * from ...]
19.优化数据库表
analyze table:检测和重组表的关键字分布情况
optimize table:恢复被删除的块和重组表,从而提高性能,可在MyISAM、BDB、InnoDB
repair table:为MyISAM、Archive和CVS存储引擎恢复崩溃的表。
用于恢复那些崩溃的或允许很慢的表
20.按索引顺序存储表,对范围查询效率有提高(如 16>a>5)
myisamchk -R 2 /usr/local/mysql/data/test/table1
21.KeyCache (B-树存储关键字),仅用于MyISAM。
每次查询MyISAM数据表时都会检查一遍Key Cache,若在缓存中找到索引,则直接在内存中执行索引检索,
而不是先从磁盘上读取索引。(MyISAM比其他存储引擎查询快的原因)
22.提高缓存命中率的方法:
a.预加载缓存
b.使用多个Key Cache 分配更多的内存
23.预加载Key Cache
load index into cache table1 ignore leaves;只装载索引的非叶子节点
24.使用多个Key Cache
a.使用二级主缓存
set global emp_cache.key_buffer_size = 128*1024;
cache index table1 in emp_cache;
set global emp_cache.key_buffer_size = 0;//只有将大小置为0或重新启动服务器时,才存在二级Key Cache
b.查看二级缓存是否存在或其大小
select @@global.emp_cache.key_buffer_size;
17.mysqladmin
mysqladmin -uroot --password processlist --sleep 3
18.MySQL GUI工具
MySQL Administrator 1.2
MySQL Query Browser 1.2
MySQL Migration Toolkit 1.1