在讲到性能调优方面,我想无外乎就是3个方面:
1.硬件调优(替换有问题的硬件)
2.对数据库配置调优
3.对SQL语句进行调优
第一种通常可以让中央处理器(CPU)或磁盘速度加倍,也可以让内存增大 4 到 8 倍。主要是让资源最大化的利用。
第二种方法是对MySQL服务器(也称为mysqld)进行调优。对这个进程进行调优意味着适当地分配内存,并让mysqld了解将会承受何种类型的负载。加快磁盘运行速度不如减少所需的磁盘访问次数。确保MySQL进程正确操作就意味着它花费在服务查询上的时间要多于花费在处理后台任务(如处理临时磁盘表或打开和关闭文件)上的时间。
第三种方法是确保增删改查进行了优化。这意味着对表应用了最优的索引,查询是按照可以充分利用MySQL功能的方式来编写的。包括SQL语句的编写,索引,存储过程,函数等等的使用。
那么如何发现自己写的SQL是否高效呢?下面教你一种最重要的方法:记录慢速查询。
我们可以配置mysqld将这些慢速查询记录到适当命名的慢速查询日志中。然后通过分析日志来确定哪些部分需要进一步的优化。启用慢速查询日志需要在my.cnf中做一下配置:
[mysqld] log-slow-queries long_query_time = 3 log-queries-not-using-indexes
这三个设置一起使用,可以记录执行时间超过3秒和没有使用索引的查询。有关log-queries-not-using-indexes的配置。我们必须使用MySQL4.1或更高版本。慢速查询日志都保存在MySQL数据目录中,名为hostname-slow.log。如果希望使用一个不同的名字或路径,可以在my.cnf中使用log-slow-queries = /new/path/to/file 实现此目的。
阅读慢速查询日志可以通过mysqldumpslow命令进行。指定日志文件的路径,就可以看到一个慢速查询的排序后的列表,并且还显示了它们在日志文件中出现的次数。一个非常有用的特性是mysqldumpslow在比较结果之前,会删除任何用户指定的数据,因此对同一个查询的不同调用被计为一次;这可以帮助找出需要工作量最多的查询。
: » 如何开启MySQL的慢查询日志
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/252341.html