<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Heck's  Blog]]></title> 
<link>https://www.heckjj.com/index.php</link> 
<description><![CDATA[一瞬间的决定，往往可以改变很多，事实上，让自己成功的往往不是知识，是精神！ 如果你总是为自己找借口，那只好让成功推迟。执行力，今天！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Heck's  Blog]]></copyright>
<item>
<link>https://www.heckjj.com/post//</link>
<title><![CDATA[MYSQL的监控方式]]></title> 
<author>Heck &lt;@hecks.tk&gt;</author>
<category><![CDATA[数据库]]></category>
<pubDate>Wed, 23 Nov 2022 11:45:10 +0000</pubDate> 
<guid>https://www.heckjj.com/post//</guid> 
<description>
<![CDATA[ 
	<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important">对于当前数据库的监控方式有很多，分为数据库自带、商用、开源三大类，每一种都有各自的特色；而对于 mysql 数据库由于其有很高的社区活跃度，监控方式更是多种多样，不管哪种监控方式最核心的就是监控数据，获取得到全面的监控数据后就是灵活的展示部分。那我们今天就介绍一下完全采用 mysql 自有方式采集获取监控数据，在单体下达到最快速、方便、损耗最小。</span><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important">本次文章完全使用 mysql 自带的 show 命令实现获取，从 connects、buffercache、lock、SQL、statement、Database throughputs、serverconfig7 大方面全面获取监控数据。</span><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; visibility: visible; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important">1 连接数（Connects）</span></strong></span></h3><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; visibility: visible; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; visibility: visible; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important">最大使用连接数：show status like &lsquo;Max_used_connections&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; visibility: visible; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important">当前打开的连接数：show status like &lsquo;Threads_connected&rsquo;</span></p></li></ul><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">2 缓存（bufferCache）</span></strong></span></h3><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">未从缓冲池读取的次数：show status like &lsquo;Innodb_buffer_pool_reads&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">从缓冲池读取的次数：show status like &lsquo;Innodb_buffer_pool_read_requests&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">缓冲池的总页数：show status like &lsquo;Innodb_buffer_pool_pages_total&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">缓冲池空闲的页数：show status like &lsquo;Innodb_buffer_pool_pages_free&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">缓存命中率计算：（1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests）*100%</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">缓存池使用率为：((Innodb_buffer_pool_pages_total-Innodb_buffer_pool_pages_free）/Innodb_buffer_pool_pages_total）*100%</span></p></li></ul><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">3 锁（lock）</span></strong></span></h3><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">锁等待个数：show status like &lsquo;Innodb_row_lock_waits&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">平均每次锁等待时间：show status like &lsquo;Innodb_row_lock_time_avg&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">查看是否存在表锁：show open TABLES where in_use&gt;0；有数据代表存在锁表，空为无表锁</span></p></li></ul><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important">备注：锁等待统计得数量为累加数据，每次获取得时候可以跟之前得数据进行相减，得到当前统计得数据</span><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">4 SQL</span></strong></span></h3><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">查看 mysql 开关是否打开：show variables like &lsquo;slow_query_log&rsquo;，ON 为开启状态，如果为 OFF，set global slow_query_log=1 进行开启</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">查看 mysql 阈值：show variables like &lsquo;long_query_time&rsquo;，根据页面传递阈值参数，修改阈值 set global long_query_time=0.1</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">查看 mysql 慢 sql 目录：show variables like &lsquo;slow_query_log_file&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">格式化慢 sql 日志：mysqldumpslow -s at -t 10 /export/data/mysql/log/slow.log<br />注：此语句通过 jdbc 执行不了，属于命令行执行。<br />意思为：显示出耗时最长的 10 个 SQL 语句执行信息，10 可以修改为 TOP 个数。显示的信息为：执行次数、平均执行时间、SQL 语句</span></p></li></ul><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important">备注：当 mysqldumpslow 命令执行失败时，将慢日志同步到本地进行格式化处理。</span><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">5 statement</span></strong></span></h3><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">insert 数量：show status like &lsquo;Com_insert&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">delete 数量：show status like &lsquo;Com_delete&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">update 数量：show status like &lsquo;Com_update&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">select 数量：show status like &lsquo;Com_select&rsquo;</span></p></li></ul><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">6 吞吐（Database throughputs）</span></strong></span></h3><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">发送吞吐量：show status like &lsquo;Bytes_sent&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">接收吞吐量：show status like &lsquo;Bytes_received&rsquo;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">总吞吐量：Bytes_sent+Bytes_received</span></p></li></ul><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">7 数据库参数（serverconfig）</span></strong></span></h3><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important">show variables</span><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">8 慢 SQL</span></strong></span></h3><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important">慢 SQL 指的是 MySQL 慢查询，具体指运行时间超过 long_query_time 值的 SQL。<br />我们常听 MySQL 中有二进制日志 binlog、中继日志 relaylog、重做回滚日志 redolog、undolog 等。针对慢查询，还有一种慢查询日志 slowlog，用来记录在 MySQL 中响应时间超过阀值的语句。慢 SQL 对实际生产业务影响是致命的，所以测试人员在性能测试过程中，对数据库 SQL 语句执行情况实施监控，给开发提供准确的性能优化意见显得尤为重要。那怎么使用 Mysql 数据库提供的慢查询日志来监控 SQL 语句执行情况，找到消耗较高的 SQL 语句，以下详细说明一下慢查询日志的使用步骤：</span><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">确保打开慢 SQL 开关 slow_query_log</span></p></li></ul><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">设置慢 SQL 域值 long_query_time<br />这个 long_query_time 是用来定义慢于多少秒的才算 &ldquo;慢查询&rdquo;，注意单位是秒，我通过执行 sql 指令 set long_query_time=1 来设置了 long_query_time 的值为 1, 也就是执行时间超过 1 秒的都算慢查询。</span></p></li></ul><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">查看慢 SQL 日志路径</span></p></li></ul><br /><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">通过慢 sql 分析工具 mysqldumpslow 格式化分析慢 SQL 日志<br />mysqldumpslow 慢查询分析工具，是 mysql 安装后自带的，可以通过./mysqldumpslow &mdash;help 查看使用参数说明</span></p></li></ul><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important">常见用法：</span><ol class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">取出使用最多的 10 条慢查询<br />./mysqldumpslow -s c -t 10 /export/data/mysql/log/slow.log</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">取出查询时间最慢的 3 条慢查询<br />./mysqldumpslow -s t -t 3 /export/data/mysql/log/slow.log</span></p></li></ol><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important">注意：使用 mysqldumpslow 的分析结果不会显示具体完整的 sql 语句，只会显示 sql 的组成结构；<br />假如: SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span><em style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">FROM sms_send WHERE service_id=10 GROUP BY content LIMIT 0, 1000;<br />mysqldumpslow 命令执行后显示：<br />Count: 2 Time=1.5s (3s) Lock=0.00s (0s) Rows=1000.0 (2000), vgos_dba[vgos_dba]@[10.130.229.196]SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span></em>FROM sms_send WHERE service_id=N GROUP BY content LIMIT N, N</span><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; font-weight: 700; overflow-wrap: break-word !important">mysqldumpslow 的分析结果详解：</span></span><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">Count：表示该类型的语句执行次数，上图中表示 select 语句执行了 2 次。</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">Time：表示该类型的语句执行的平均时间（总计时间）</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">Lock：锁时间 0s。</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">Rows：单次返回的结果数是 1000 条记录，2 次总共返回 2000 条记录。</span></p></li></ul><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important">通过这个工具就可以查询出来哪些 sql 语句是慢 SQL，从而反馈研发进行优化，比如加索引，该应用的实现方式等。</span><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; letter-spacing: 1px; font-size: 15px; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; font-weight: 700; overflow-wrap: break-word !important">常见慢 SQL 排查</span></span><ol class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">不使用子查询<br />SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span><em style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">FROM t1 WHERE id (SELECT id FROM t2 WHERE name=&rsquo;hechunyang&rsquo;);<br />子查询在 MySQL5.5 版本里，内部执行计划器是这样执行的：先查外表再匹配内表，而不是先查内表 t2，当外表的数据很大时，查询速度会非常慢。<br />在 MariaDB10/MySQL5.6 版本里，采用 join 关联方式对其进行了优化，这条 SQL 会自动转换为 SELECT t1.</em><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span>FROM t1 JOIN t2 ON t1.id = t2.id;<br />但请注意的是：优化只针对 SELECT 有效，对 UPDATE/DELETE 子 查询无效， 生产环境尽量应避免使用子查询。</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">避免函数索引<br />SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span><em style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">FROM t WHERE YEAR(d) &gt;= 2016;<br />由于 MySQL 不像 Oracle 那样⽀持函数索引，即使 d 字段有索引，也会直接全表扫描。<br />应改为 &gt; SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span></em>FROM t WHERE d &gt;= &lsquo;2016-01-01&rsquo;;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">用 IN 来替换 OR 低效查询<br />慢 SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span><em style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">FROM t WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30;<br />高效查询 &gt; SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span></em>FROM t WHERE LOC_IN IN (10,20,30);</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">LIKE 双百分号无法使用到索引<br />SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span><em style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">FROM t WHERE name LIKE &lsquo;%de%&rsquo;;<br />使用 SELECT<span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">&nbsp;</span></em>FROM t WHERE name LIKE &lsquo;de%&rsquo;;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">分组统计可以禁止排序<br />SELECT goods_id,count(<em style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; overflow-wrap: break-word !important">) FROM t GROUP BY goods_id;<br />默认情况下，MySQL 对所有 GROUP BY col1，col2&hellip; 的字段进⾏排序。如果查询包括 GROUP BY，想要避免排序结果的消耗，则可以指定 ORDER BY NULL 禁止排序。<br />使用 SELECT goods_id,count (</em>) FROM t GROUP BY goods_id ORDER BY NULL;</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">禁止不必要的 ORDER BY 排序<br />SELECT count(1) FROM user u LEFT JOIN user_info i ON u.id = i.user_id WHERE 1 = 1 ORDER BY u.create_time DESC;<br />使用 SELECT count (1) FROM user u LEFT JOIN user_info i ON u.id = i.user_id;</span></p></li></ol><h3 style="margin: 22px 8px 16px; padding: 0px; outline: 0px; font-size: 22px; max-width: 100%; box-sizing: inherit; text-align: justify; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, &quot;Noto Sans CJK SC&quot;, Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif; border-width: initial; border-style: none; border-color: initial; color: #333333; line-height: 1.75em; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: #31859b"><strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; font-size: 18px; box-sizing: border-box !important; overflow-wrap: break-word !important">9 总结</span></strong></span></h3><ul class="list-paddingleft-1" style="margin: 0px 0px 20px; padding: 0px 0px 0px 20px; outline: 0px; max-width: 100%; box-sizing: inherit; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Segoe UI&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; overflow-wrap: break-word !important"><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">任何东西不应过重关注其外表，要注重内在的东西，往往绚丽的外表下会有对应的负担和损耗。</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">mysql 数据库的监控支持通过 SQL 方式从 performance_schema 库中访问对应的表数据，前提是初始化此库并开启监控数据写入。</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">对于监控而言，不在于手段的多样性，而需要明白监控的本质，以及需要的监控项内容，找到符合自身项目特色的监控方式。</span></p></li><li style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: inherit; line-height: 1.875em; letter-spacing: 1px; font-size: 15px; overflow-wrap: break-word !important"><p style="margin: 0px 0px 16px; padding: 0px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-align: justify; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important"><span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important">在选择监控工具对 mysql 监控时，需要关注监控工具本身对于数据库服务器的消耗，不要影响到其自身的使用。</span></p></li></ul>
]]>
</description>
</item><item>
<link>https://www.heckjj.com/post//#blogcomment</link>
<title><![CDATA[[评论] MYSQL的监控方式]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.heckjj.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>