使用show status命令可以看到MySQL的运行状态,根据他们的值可以做出相应的判断。
如果Opened_tables比Open_tables大很多,应该把my.cnf中的table_cache变大
如果Key_reads太大,则应该把my.cnf中Key_buffer_size变大,保持Key_reads/Key_read_requests至少1/100以上,越小越好。
如果Handler_read_rnd太大,则你写的SQL语句里很多查询都是要扫描整个表
如果Threads_created太大,就要增加my.cnf中Thread_cache_size的值,没有索引起作用
如果Created_tmp_disk_tables太大,接近Created_tmp_tables,就要增加my.cnf中Tmp_table_size和Max_heap_table_size的值
如果Sort_merge_passes太大,应该增加my.cnf中的Sort_buffer_size的值
如果Qcache_hits很多,则说明QueryCache有用,如果其很小,就说明QueryCache没有必要使用
如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值
如果Select_full_join很大,则说明没有使用索引的连接很多,危险
如果Slow_queries很大,那就把慢查询日志好好看看,o(∩_∩)o
觉得文章有用?立即:
和朋友一起 共学习 共进步!