• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL高级十一——慢查询

MySQL高级十一——慢查询

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL高级,慢查询等相关知识,希望本文的分享对您有所帮助
MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为慢查询。

1、查看时间限制

show variables like '%long%';

就会看到:

+---------------------------------------------------+-----------+
| Variable_name                        | Value     |
+---------------------------------------------------+-----------+
| long_query_time                        | 10.000000 |
| max_long_data_size                     | 1048576   |
| performance_schema_events_waits_history_long_size | 10000     |
+---------------------------------------------------+-----------+


如果查询超过long_query_time的时间就称为慢查询。

2、查看数据库的启动时间

show status like 'uptime%';

就会看到

+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| Uptime                    | 76333 |
| Uptime_since_flush_status | 76333 |
+---------------------------+-------+


3、查看查询语句条数

show status like 'com_Select';

就会看到

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select    | 1     |
+---------------+-------+


4、获取连接数

show status like 'connections';

就会看到

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections   | 2     |
+---------------+-------+


5、设置慢查询的时间

set long_query_time = 1;

6、以安全模式启动mysql服务,慢查询记录将会写入日志之中。

开启慢查询日志

在MySQL的配置文件中加以下参数

log-show-queries = D:/MySQL/Log/mysqld-slow-query.log

long-query-time = 5

log-queries-not-using-indexes

阐述:

有关慢查询日志功能存放位置,该目录文件一定要有写的权限。可以用设置,系统会给一个缺省的文件host_name-show.log

long_query_time

SQL执行时间阀值,默认为10秒

注意一下三点:

1、设置long_query_time这个阀值后,mysql数据库会记录运行时间超过该值的所有SQL语句,但对于运行时间正好等于long_query_time的情况并不会被记录下来。也就是说,在mysql源码里是判断大于log_query_time,而非大于等于。

2、从MySQL5.1开始,long_query_time开始以微秒计算,这样精确记录SQL的运行时间。

3、建议该时间不应太小或太大,最好在5-10秒之间。当然可以根据自己的情况来定。

log-queries-not-using-indexes

如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件之中。

以上就是MySQL高级十一——慢查询的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL高级十七——MySQL账号权限赋予
  • MySQL高级十六——内存优化
  • MySQL高级十五——表的分区
  • MySQL高级十四——表的优化
  • MySQL高级十三——通过索引优化SQL
  • MySQL高级十二——索引
  • MySQL高级十一——慢查询
  • MySQL高级十——事务的应用
  • MySQL高级九——MyISAM表锁(共享读锁)
  • MySQL高级八——触发器的使用

相关文章

  • 2018-12-05mysql中如何配置ssl_key和ssl-cert与ssl-ca的路径以及建立ssl连接的实例
  • 2017-05-11分享20个数据库设计的最佳实践
  • 2018-12-05Oracle的默认用户密码
  • 2018-12-05MySQL分表自增ID问题的解决方法_MySQL
  • 2018-12-05Oracle parameter可能值获取方法
  • 2018-12-05MySQL 教程之列类型中的字符串型
  • 2017-05-11MySql表、字段、库的字符集修改及查看方法
  • 2017-05-11MYSQL主从库不同步故障一例解决方法
  • 2017-05-11SQLServer 2005 自动备份数据库的方法分享(附图解教程)
  • 2018-12-05MySQL · 引擎特性 · InnoDB IO子系统的详细介绍

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • centos7下和linux下安装mysql有什么区别
    • MySQL 编码机制
    • SQLServer XML查询快速入门(18句话)
    • PDO中执行SQL语句
    • 关于MYSQL的优化全面详解
    • Mysql分析-awk+Threads分析状态
    • mysql的20条优化总结
    • mysql增加新用户无法登陆解决方法
    • 使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值
    • flashback table快速恢复误删除的数据

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有