面试时回答MySQL数据库的简单优化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试时回答MySQL数据库的简单优化相关的知识,希望对你有一定的参考价值。
使用show status命令可以看到mysql的运行状态,加上like命令可以查看某一个状态,MySQL的优化不是理论上的要根据公司数据库的实际运行状态来进行参数的调优。其实我们亦可以在MySQL的前段加上memcache,对已经使用过的SQL语句进行缓存。memcache我们以后再聊
(1)如果Opened_tables比Open_tables大很多,应该把my.cnf中的table_cache变大
(2)如果Key_reads太大,则应该把my.cnf中Key_buffer_size变大,保持 Key_reads/Key_read_requests至少1/100以上,越小越好。
(3)如果Handler_read_rnd太大,则你写的SQL语句里很多查询都是要扫描整个表,这时你要注意你写的SQL语句是否合理,因为扫描整个表是十分占用系统资源的。
(4)如果Threads_created太大,就要增加my.cnf中Thread_cache_size的值.
(5)如果Created_tmp_disk_tables太大,接近Created_tmp_tables,就要增加my.cnf中Tmp_table_size和Max_heap_table_size的值
(6)如果Sort_merge_passes太大,应该增加my.cnf中的Sort_buffer_size的值
(7)如果Qcache_hits很多,则说明QueryCache有用,如果其很小,就说明QueryCache没有必要使用
(8)如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值
以上是关于面试时回答MySQL数据库的简单优化的主要内容,如果未能解决你的问题,请参考以下文章