SET GLOBAL event_scheduler = ON; --开启事件
2、SHOW PROCESSLIST;<===>select * from information_schema.PROCESSLIST where info is not null ; --查看mysql当前运行进程;
3、show tables like 'replication%'; --并行复制监控
/* -- 其查看含义如下所示:
如果索引正在工作,Handler_read_key 的值将很高,这个值代表了一个行被索引值读的次数,
很低的值表明增加索引得到的性能改善不高,以为索引并不经常使用。
Handler_read_rnd_next 的值高则意味着查询运行低效,并且应该建立索引补救。
这个值的含义是在数据文件中读下一行的请求数。如果正在进行大量表的扫描,该值较高。通常说明索引不正确或者写入的查询没有利用索引。
*/
5、SHOW INDEX FROM table_name; --查看索引的散列程度
/*-- 其查看含义如下所示:
Non_unique :如果索引不能包括重复词,则为0。如果可以,则为1。
Key_name :索引的名称。
Seq_in_index:索引中的列序列号,从1开始。
Column_name :列名称
Collation :列以什么方式存储在索引中。在MySQLSHOW INDEX语法中,有值’A’(升序)或NULL(无分类)
Cardinality :索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。
基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。
基数越大,当进行联合时,MySQL使用该索引的机会就越大。
Sub_part :如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
Packed :指示关键字如何被压缩。如果没有被压缩,则为NULL。
Null :如果列含有NULL,则含有YES。如果没有,则该列含有NO。
Index_type :用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
*/
6、ANALYZE TABLE table_name; -- 修复索引:
/*-- 其查看含义如下所示:
首先需要收集一些相关信息,其中就包括表的cardinality(可以翻译为“散列程度”),
它表示某个索引对应的列包含多少个不同的值——如果cardinality大大少于数据的实际散列程度,那么索引就基本失效了。
需要注意的是,如果开启了binlog,那么Analyze Table的结果也会写入binlog,我们可以在analyze和table之间添加关键字local取消写入。
*/