SQL慢查询优化处理方法分享

2024-11-18 00:59:03

1、首先以具体案例旅邯佤践进行了SQL语句问题的分析,然后给出了问题的解决办法,最后结合MySQL数据库在Nat123的应用案例进行劲忧商偌了方法分析。出现问题的SQL语句,如图:关联查询从上面简化的SQL语句,可以看出,首先进行的是关联查询。子查询其次,是嵌套的子查询。此子查询是为了找出多个用户共同拥有的组ID。所以语句中的“100,102,103”是根据场景来定的,并且需要和后面“count(id) > 3”的个数对应。简单来说,就是找用户交集的组ID。

SQL慢查询优化处理方法分享

3、既然定位到了是嵌套的子查询语句的问题,痘痉颔湄那又要分为两块待排查的区域:是子查询本身耗时大,还是嵌套而导致慢查询?结果很容易发现,当我把子查询疟觥窖捎单独在DB中执行时,是非常快的。所以排除。剩下的不言而喻,20秒的慢查询是嵌套引起的。将子查询的ID单独执行,并把得到的结果序列手动拼成一段ID,如:1,2,3,4, ... , 999;将上面得到的序列ID,手动替换到原来的SQL语句;执行,发现,很快!只用了约150 ms;

SQL慢查询优化处理方法分享

5、添加映射后,可查看映射状态。将鼠标放在映射图标上有提示当着状态信息。新添加映射一般几分钟内生效。访问者打开mysql全端口映射后的域名和访问端口。如在添加访问地址时,同时勾选允许局域网访问,则在访问者局域网内都可以访问。在使用访问者本机,可以进行访问mysql数据库。访问地址是本地访问者打开的域名端口。

SQL慢查询优化处理方法分享
猜你喜欢