大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说mysql 慢查询_电脑变慢怎么解决,希望您对编程的造诣更进一步.
目的
根据发现的问题,找到原因,然后对症下药
借鉴资料:
没用过慢查询日志,别说自己做过数据库优化
慢查询日志概念
记住七个字搞定索引失效问题
发现问题(主动/被动)
问题点:数据库查询过程中速度过慢的SQL语句
主动:数据库默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的
mysql> show variables like "%slow_query_log%";
+---------------------+-----------------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
+---------------------+-----------------------------------------------+
2 rows in set (0.00 sec)
mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.09 sec)
mysql> show variables like "%slow_query_log%";
+---------------------+-----------------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
+---------------------+-----------------------------------------------+
2 rows in set (0.00 sec)
被动:用户在使用程序时候告知页面反应慢
找到原因-对症下药
原因点:没有加索引、索引失效、SQL极度复杂、高并发
1.表结构设计时没有索引导致
2.SQL语句导致索引失效
索引失效7字口诀:
模:模糊查询LIKE以%开头
型:数据类型错误
数:对索引字段使用内部函数
空:索引列是NULL
运:索引列进行四则运算
最:复合索引不按索引列最左开始查找
快:全表查找预计比索引更快
3.SQL极度复杂10张以上表联合查询
优化表结构和程序
4.高并发时段导致等待
在程序和数据库之间加入缓存
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5500.html