对TEXT BLOB字段存在的表,会因为删除有无效数据,需要进行优化碎片压缩容量。
optimize table 表名;
修改my.cnf,增加记录执行时间超过long_query_time变量时间的SQL语句。
log-slow-queries = /var/log/mysql/mysql-slow.log
使用explain显示SQL执行情况,为有问题的sql增加索引:
explain SELECT `ID`, `post_author`, `post_date`, `post_date_gmt`, `post_status`, `post_name`, `post_modified`, `post_modified_gmt`, `post_parent`, `post_type` FROM `wp_posts` WHERE ( (post_status = 'publish' AND (post_type = 'post' OR post_type = '')) OR (post_status = 'publish' AND post_type = 'page') ) AND post_password='' ORDER BY post_modified DESC\G;
使用set设置Mysql全局变量时,它只影响在更改后连接的从该全局变量初始化相应会话变量的客户端。它不会影响已经连接上的客户端的会话变量(甚至是执行SET GLOBAL语句的客户端)。
优化设置变量:
(这些变量在MYSQL的手册都可以找到,我把认为需要调整的都列在这里做记录)。
mysql变量expire_logs_days 设置Binlog过期删除时间,默认20天。
back_log
MySQL有的主要连接请求的数量。当主MySQL线程在短时间内得到许多连接请求时发挥作用。主线程需要花一些时间(尽管很少)来检查连接并启动一个新线程。back_log值说明MySQL临时停止响应新请求前在短时间内可以堆起多少请求



