湖北建设企业网站价格,推广网站的方法,织梦系统做的网站打开慢,删除wordpress主题底部怎么获取有功能问题的SQL1、经过用户反应获取存在功能问题的SQL2、经过慢查询日志获取功能问题的SQL3、实时获取存在功能问题的SQL运用慢查询日志获取有功能问题的SQL首要介绍下慢查询相关的参数1、slow_query_log 发动定制记载慢查询日志设置的办法#xff0c;能够经过MySQL指…怎么获取有功能问题的SQL1、经过用户反应获取存在功能问题的SQL2、经过慢查询日志获取功能问题的SQL3、实时获取存在功能问题的SQL运用慢查询日志获取有功能问题的SQL首要介绍下慢查询相关的参数1、slow_query_log 发动定制记载慢查询日志设置的办法能够经过MySQL指令行设置set global slow_query_logon或许修正/etc/my.cnf文件增加slow_query_logon2、slow_query_log_file 指定慢查询日志的存储途径及文件主张日志存储和数据存储分隔存储3、long_query_time 指定记载慢查询日志SQL履行时刻的阈值① 记载一切契合条件的SQL② 数据修正句子③ 包含查询句子④ 现已回滚的SQL留意时刻能够精确到微秒存储的单位是秒默许值为10秒例如咱们想查询1微秒的值这儿就要设置成0.001秒4、log_queries_not_using_indexes 是否记载未运用索引的SQL5、log_output 设置慢日志查询的保存格局(假如需求保存为文件请修正成FILE)慢查询运用日志中记载的信息1、榜首行记载的信息为运用sbtest做的测验2、第二行记载的信息为慢查询日志的时刻3、第三行记载的信息为所运用锁的时刻4、第四行记载的信息为回来的数据行数5、第五行记载的信息为扫描数据的行数6、第六行记载的信息为时刻戳7、第七行记载的信息为查询的SQL句子运用慢查询获取有功能问题的SQL常运用的慢查询日志剖析东西(mysqldumpslow)介绍汇总除查询条件外其他完全相同的SQL并将剖析成果依照参数中所指定的次序输出慢查询日志实例慢查询的相关装备设置指令行履行参数检查剖析的成果]# cd /var/lib/mysql/log]# mysqldumpslow -s r -t 10 slow-mysql常运用的慢查询日志剖析东西(pt-query-digest)运用东西前需求先装置该东西假如已有可略过下面的装置进程1、perl模块]# yum install -y perl-CPAN perl-Time-HiRes perl-IO-Socket-SSL perl-DBD-mysql perl-Digest-MD52、切换至src目录下载rpm包]# cd /usr/local/src]# wget https://www.percona.com/downloads/percona-toolkit/3.0.7/binary/redhat/7/x86_64/percona-toolkit-3.0.7-1.el7.x86_64.rpm3、装置东西包]# rpm -ivh percona-toolkit-3.0.7-1.el7.x86_64.rpm履行指令剖析慢查询日志]# pt-query-digest --userroot --passwordredhat --host127.0.0.1 slow-mysql slow.rep剖析的成果如下MySQL服务器处理查询恳求的整个进程1、客户端发送SQL恳求给服务器2、服务器检查是否存在在缓存服务器中射中该SQL3、服务器端进行SQL解析预处理再由优化器对应履行计划4、依据履行计划调用存储引擎API来查询数据5、将成果回来给客户端查询缓存对SQL功能的影响1、优先检查整个查询是否射中查询缓存中的数据2、经过一个对大小写灵敏的哈希查找完成的查询缓存的优化参数query_cache_type 设置查询缓存是否可用ONOFFDEMAND留意DEMAND表明只要在查询句子中运用SQL——CACHE和SQL_NO_CACHE来操控是否需求缓存query_cache_size 设置查询缓存的内存大小query_cache_limit 设置查询缓存可用存储的最大值query_cache_wlock_invalidate 设置数据表被锁后是否回来缓存中的数据(默许是封闭的主张也是封闭的此选项)query_cache_min_res_unit 设置查询缓存分配的内存块最小的值会形成MySQL生成过错的履行计划的原因1、计算信息不精确2、履行计划中的本钱预算不等同于实践的履行计划的本钱3、MySQL优化器所以为的最优可能与你所以为的最优不一样4、MySQL从不考虑其他并发的查询这可能会影响当时查询数据5、MySQL有时候也会依据一些固定的规矩来生成履行计划6、MySQL不会考虑不受其操控的本钱MySQL优化器可优化的SQL类型1、从头界说表的相关次序优化器会依据计算信息来决议表的相关次序2、将外链接转换成内衔接where条件和库表结构等3、运用等价改换规矩(55 and a 5)将会被改写成 a 54、优化count(), min()和max()select tables optimized away优化器现已从履行计划中移除了该表并以一个常数取而代之5、将一个表达式转换为常数表达式6、运用等价改换规矩7、子查询优化8、对in()条件进行优化怎么确认查询处理各个阶段所耗费的时刻运用profile set profiling 1;履行查询 showprofiles; show profile forqueryN; 查询的每个阶段所耗费的时刻运用profile检查句子所耗费的时刻特定的SQL查询优化1、运用主从切换的原理进行大表的表结构修正例如现在从服务器上修正修正结束今后进行主从切换再在本来老的主上进行大表的修正存在必定的危险。2、在主服务器上创建于一个新的表表结构便是即将修正大表后表结构再把老表的数据从头导入到新表中并在老表中树立一系列的触发器把老表的数据同步更新到新表中当老表中的数据悉数同步到新表今后再对老表加排它锁把新表改成老表的称号删去重命名的老表如下图所示运用pt-online-schema-change指令来修正大表具体操作如下图所示上图的参数解说--alter 所运用的sql句子--user 数据库的登录用户--password 登录用户的暗码D 指定一切修正表的数据库称号t 表的称号--charset 指定数据库的字符串--excute 履行作者demon_gdy