首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏h0cksr的小屋

    SQL查询

    #使用set global slow_query_log=1开启了查询日志只对当前数据库生效,MySQL重启后则会失效。 log-slow-queries :旧版(5.6以下版本)MySQL数据库查询日志存储路径。 可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log slow-query-log-file:新版(5.6及以上版本)MySQL数据库查询日志存储路径。 可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log long_query_time :查询阈值,当查询时间多于设定的阈值时,记录日志。 log_queries_not_using_indexes:未使用索引的查询也被记录到查询日志中(可选项)。 log_output:日志存储方式。

    2.3K20编辑于 2023-05-16
  • 来自专栏JAVA基础知识

    SQL 查询

    查询避免 在实际项目中,数据库查询经常出现响应过慢或超时情况。那么怎么减少查询的出现呢? 表设计合理,尽量避免出现多表联合查询查询处理 合理设计表,可以减少查询的出现,但是并不能完全避免。本文将查询可分为一般查询、深度分页查询和数据量大导致的查询。 一般查询 当出现一般查询时,可以按照以下步骤去进行 SQL 调优: 避免全表扫描。这⾥需要注意⼀些索引设计和使⽤的问题: 使⽤复合索引,避免出现多个单列索引。 使⽤⼦查询优化:通过⼦查询先定位到接近⽬标结果的位置,然后外层查询获取具体数据。 大数据查询 在MySQL 中,单表数据量一般都限制在 2000w 以内,当超过后会出现严重性能问题。所以针对大表,可以进行⽔平分表。⽔平分表是⼀种将数据表按⼀定规则拆分为多个⼦表的技术。

    96410编辑于 2024-10-16
  • 来自专栏全栈程序员必看

    mysql查询日志_sql查询日志

    1、显示日志是否开启 show variables like ‘%slow_query_log%’ 2、查询超过多少秒才记录 show variables like ‘%long_query_time %’ 3、配置分全局配置和配置文件的配置 全局配置 1) 将 slow_query_log 全局变量设置为“ON”状态 set global slow_query_log=‘ON’; 2) 查询超过 1秒就记录 set global long_query_time=1 3) 设置查询日志存放的位置 set global slow_query_log_file=’/usr/local/mysql slow.log long_query_time = 1 重启MySQL服务 service mysqld restart 4、mysqldumpslow简单使用方法-mysqldumpslow详细用法 查询日志分析工具 mysqldumpslow经常使用的参数: -s,是order的顺序 —– al 平均锁定时间 —–ar 平均返回记录时间 —–at 平均查询时间(默认) —–c 计数 —–l 锁定时间

    5.5K10编辑于 2022-11-07
  • 来自专栏数据库技术

    MySQL SQL查询

    查询日志主要用来记录在MySQL数据库中执行时间超过指定阈值时间的查询语句。通过慢查询日志查找出效率底下的SQL语句,并根据需要进行优化。 查询日志是排查SQL语句性能问题的工具,如果非优化需求不建议开启,开启后会对数据库的性能带来一定影响。----1. 默认情况下查询日志关闭的,可以使用以下命令来查看查询日志的状态、位置及记录阈值。 在当前实例中开启查询日志(重启数据库会失效)# 开启查询日志mysql> set global slow_query_log = on;Query OK, 0 rows affected (0.01 查看查询日志的记录# 执行查询mysql> select count(*) from sbtest1;+----------+| count(*) |+----------+| 100000 |+

    95880编辑于 2022-07-08
  • 来自专栏全栈程序员必看

    mysql查看查询的语句_sql查询如何优化

    Mysql查询设置 分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“查询”。 mysql> show variables like ‘long%’; 注:这个long_query_time是用来定义于多少秒的才算“查询” +—————–+———–+ | Variable_name 语句和返回记录集最多的20个sql。 mysql查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的查询日志记录呢? Windows: 当你是第一次开启mysql的查询,会在你指定的目录下创建这个记录文件,本文就是mysqlslowquery.log,这个文件的内容大致如下(第一次开启MYSQL查询的情况下) E:

    5.3K20编辑于 2022-11-19
  • 来自专栏开源优测

    告别查询,解密MySQLSQL分析定位

    概述 在业务型java项目中最大的隐患项之一就是SQL,它影响到服务的稳定性,也是日常工作中经常导致程序的最大隐患,在日常开发中如何避免出现SQL,出现了SQL应该按照什么思路去解决是我们必须要知道 其优化原则,总体可以归纳为: 科学创建索引 减少不必要的列查询 使用覆盖索引 语句改写 适当的应用内存进行条件组合分次查询 选择合适的列进行排序 适当的列冗余,减少关联表 SQL 拆分,化繁为简 适当结合 编写sql 在日常开发中,难免会遇到一些复杂的业务场景需要使用一些复杂的sql来解决业务问题,这些sql往往包含了一些复杂的函数、子查询。 在项目的初期由于数据量少,不会对数据库造成太大的压力,但慢慢的随着业务的发展和时间的积累这些sql就会渐渐的成为sql,对数据库性能产生一定的影响,甚至影响程序正常运行。 2.4 rows 表示sql查询的行数 2.5 extra 该列显示 MySQL 在查询过程中的一些详细信息。

    55911编辑于 2024-04-19
  • 来自专栏全栈程序员必看

    mysql如何优化查询_sql优化思路

    这篇文章主要是就在公司实习的时候,对SQL优化工作作出的一些整理。 在公司实习的时候,导师分配了SQL查询优化的任务,任务是这样的:每周从平台中导出生产数据库的查询文件进行分析。 (1)数据库中设置SQL查询 一、第一步.开启mysql查询 方式一: 修改配置文件 在 my.ini 增加几行: 主要是查询的定义时间(超过2秒就是查询 ),以及查询log日志记录( slow_query_log) 方法二:通过MySQL数据库开启查询: (2)分析查询日志 直接分析mysql查询日志 ,利用explain关键字可以模拟优化器执行SQL查询语句,来分析sql查询语句 例如:执行EXPLAIN SELECT * FROM res_user ORDER BYmodifiedtime 查询的原因都是:引起filesort (5)分析具体的SQL语句 1、两个表选哪个为驱动表,表面是可以以数据量的大小作为依据,但是实际经验最好交给mysql查询优化器自己去判断。

    5.6K31编辑于 2022-11-04
  • 来自专栏蔡坨坨的测试笔记

    快速学会查询SQL排查

    学完数据库基础知识,要想更深入地了解数据库,就需要学习数据库进阶知识,今天我们就先来聊一聊SQL查询那些事儿。 在日常工作中,我们经常会遇到数据库查询问题,那么我们要如何进行排查呢? 假设一次执行20条SQL,我们如何判断哪条SQL是执行的烂SQL,这里就需要用到查询日志。 在SQL中,广义的查询就是CRUD操作,而狭义的查询仅仅是SELECT查询操作,而我们所说的查询其实指的是广义的查询,包括增删改查,一般是查询,所以称为查询。 排查测试 模拟SQL数据 执行如下SQL语句休眠4秒,模拟SQL: select sleep(4); 查询超过阈值的SQL的数量: show global status like '%slow_queries %'; 可以看到超过阈值的SQL数为1: 查询超过阈值的具体SQL语句 主要有两种方式可以定位到具体的SQL语句,分别为查看日志文件和使用mysqldumpslow工具查看。

    1.6K30编辑于 2022-12-21
  • 来自专栏全栈程序员必看

    mysql查询sql统计_mysql服务启动

    一、概述 MySQL的查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值(long_query_time,单位:秒)的SQL语句。 默认情况下,MySQL不启动查询日志。本文简单介绍如何开启查询日志,如何用mysqldumpslow分析查询。 三、查询测试 制造查询并执行。如下。 可以看到上述查询SQL语句被记录到日志中。 四、查询分析工具 mysqldumpslow mysqldumpslow是MySQL自带的分析查询的工具。该工具是Perl脚本。 获取访问次数最多的5个SQL语句 按照时间排的top 5个SQL语句 $ mysqldumpslow -s t -t 5 /var/lib/mysql/slow-query.log 按照时间排序且含有

    4.3K20编辑于 2022-11-04
  • 来自专栏码农架构

    如何使用查询快速定位执行SQL

    查询可以帮我们找到执行SQL,在使用前,我们需要先看下查询是否已经开启,使用下面这条命令即可: mysql > show variables like '%slow_query_log'; 我们可以把查询日志打开,注意设置变量值的时候需要使用 global,否则会报错: mysql > set global slow_query_log='ON'; 然后我们再来查看下查询日志是否开启 ,以及查询日志文件的位置: ? 比如我们想要按照查询时间排序,查看前两条 SQL 语句,这样写即可: ? 你能看到开启了查询日志,并设置了相应的查询时间阈值之后,只要查询时间大于这个阈值的 SQL 语句都会保存在查询日志中,然后我们就可以通过 mysqldumpslow 工具提取想要查找的 SQL 语句了

    3.3K20发布于 2020-10-26
  • 来自专栏码农架构

    如何使用查询快速定位执行SQL

    查询可以帮我们找到执行SQL,在使用前,我们需要先看下查询是否已经开启,使用下面这条命令即可: mysql > show variables like '%slow_query_log'; 我们可以把查询日志打开,注意设置变量值的时候需要使用 global,否则会报错: mysql > set global slow_query_log='ON'; 然后我们再来查看下查询日志是否开启 ,以及查询日志文件的位置: 你能看到这时查询分析已经开启,同时文件保存在 DESKTOP-4BK02RP-slow 文件中。 比如我们想要按照查询时间排序,查看前两条 SQL 语句,这样写即可: 你能看到开启了查询日志,并设置了相应的查询时间阈值之后,只要查询时间大于这个阈值的 SQL 语句都会保存在查询日志中,然后我们就可以通过 mysqldumpslow 工具提取想要查找的 SQL 语句了。

    3.4K10发布于 2020-10-13
  • 来自专栏用户9378957的专栏

    你的哪些SQL?看看MySQL查询日志吧

    那么如果有一个文件能够将这些使用过程中比较慢的SQL记录下来,定期去分析排查,那该多美好啊。这种情况MySQL也替我们想到了,它提供了SQL查询的日志,本文就分享下如何使用吧。 什么是查询日志? 查看SQL是否开启 执行下面命令查看是否开启SQL show variables like '%slow_query_log'; 复制代码 OFF: 未开启 ON: 开启 如何开启查询 执行下面的命令开启查询日志 long_query_time=3 # 设置查询的阈值为3秒,超出此设定值的SQL即被记录到查询日志 log_output=FILE 复制代码 查询日志在哪里呢? 执行一个查询SQL 执行花了1秒多,超过了前面设置的阈值1s 查看查询数目 执行下面命令查询当前系统中有多少条查询记录 SHOW GLOBAL STATUS LIKE '%Slow_queries 现在查询日志很多了啊,为了不互相混淆,我要删除一些SQL日志,怎么删除呢? 手动删除查询日志文件即可, 也就是rm命令。

    94920编辑于 2023-02-22
  • 来自专栏DBA随笔

    MySQL常见问题之SQL查询

    MySQL常见问题之SQL查询 可能是经常处理业务,最近总是听到开发的同学说SQL查询。然后问我为什么,让我在数据库层面找原因。 首先,当有业务方对我说SQL查询的时候,一般我会先问几个问题: 1、这个SQL是偶尔比较慢还是一直这么? 第四、其他未知的神秘力量,例如大表操作、大事务、网络带宽被占用等等 如果是一直这么,一般情况下,SQL层面的问题可能比较大,而SQL层面,首先要考虑这几个要素: 1、表的数据量有多大? 4、SQL中是否使用了很多的关联查询和子查询,例如SQL中包含很多个left join或者对于一个大的结果集进行group by操作。 分析完这些,如果性能还是比较差,那就应该针对SQL进行优化了,通过explain查看当前的查询类型,针对SQL进行重写。

    1.4K10发布于 2019-11-06
  • 来自专栏Java架构师必看

    MySQL查询(一) – 开启查询

    今天说一说MySQL查询(一) - 开启查询[通俗易懂],希望能够帮助大家进步!!! 一、简介 开启查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。 二、参数说明 slow_query_log 查询开启状态 slow_query_log_file 查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录) SQL语句 mysql> select sleep(2); 2.查看是否生成查询日志 ls /usr/local/mysql/data/slow.log 如果日志存在,MySQL开启查询设置成功! 下一篇:MySQL查询(二) - pt-query-digest详解查询日志

    4.9K50编辑于 2022-02-10
  • 来自专栏allsmallpi博客

    MySQL查询(一) - 开启查询

    转载自https://www.cnblogs.com/luyucheng/p/6265594.html 一、简介 开启查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能 二、参数说明 slow_query_log 查询开启状态 slow_query_log_file 查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录 ) long_query_time 查询超过多少秒才记录 三、设置步骤 1.查看查询相关参数 ? 四、测试 1.执行一条查询SQL语句 mysql> select sleep(2); 2.查看是否生成查询日志 ls /usr/local/mysql/data/slow.log 如果日志存在,MySQL 开启查询设置成功!

    3.7K10发布于 2021-02-25
  • 来自专栏全栈程序员必看

    Mysql查询_mysql并发查询

    查询日志概念 MySQL的查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到查询日志中 默认情况下,Mysql数据库并不启动查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启查询日志会或多或少带来一定的性能影响。 查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。 相关的参数设置 slow_query_log :是否开启查询日志,1表示开启,0表示关闭。 host_name-slow.log(如果没有指定参数slow_query_log_file的话) 那么开启了查询日志后,什么样的SQL才会记录到查询日志里面呢? 另外,开启了这个参数,其实使用full index scan的sql也会被记录到查询日志。

    22.6K20编辑于 2022-11-07
  • 来自专栏芋道源码1024

    MySQL查询SQL定位、日志分析与优化方案,真心不错!

    进行治理 治理的优先级 MySQL执行原理 如何发现查询SQL 查询分析示例 SQL语句常见优化 总结 ---- 一个sql执行很慢的就叫sql,一般来说sql语句执行超过5s就能够算是sql ->取数据到query_cache->取消共享读锁 如何发现查询SQL -- 修改查询时间,只能当前会话有效; set long_query_time=1;  -- 启用查询 ,加上global, 不然会报错的; set global slow_query_log='ON';  -- 是否开启查询; show variables like "%slow%";  -- 查询查询SQL状况; show - 表示记录没有使用索引的查询 logqueriesnotusingindexes   开启查询会带来CPU损耗与日志记录的IO开销,所以建议间断性的打开查询日志来观察MySQL运行状态 查询分析示例 假设我们有一条SQL SELECT * FROM `emp` where ename like '%mQspyv%';  执行时间为1.163s,而我们设置的查询时间为1s,这时我们可以打开查询日志进行日志分析

    1.2K10编辑于 2022-06-07
  • 来自专栏CSDN文章

    MySQL-如何定位查询SQL以及优化

    查询日志记录SQL 定位SQL可以通过慢查询日志来查看SQL,默认的情况下,MySQL数据库不开启查询日志(slow query log),需要手动把它打开 SET GLOBAL slow_query_log = ‘ON’; 查看下查询日志配置 SHOW VARIABLES LIKE ‘slow_query_log%’ slow_query_log:表示查询开启的状态 slow_query_log_file :表示查询日志存放的位置 查看超过多少时间,才记录到查询日志 SHOW VARIABLES LIKE ‘long_query_time’ 注意: 这样配置是临时的如果需要永久修改需要去配置文件(/ etc/my.cnf) explain查看分析SQL执行计划 通过慢查询日志定位出查询效率较低的SQL,可以使用explain查看SQL的执行计划 id 1. id 值相同时,被视为一组从上向下执行 可以根据这些开销进一步分析当前SQL的瓶颈再进一步进行优化 Optimizer Trace分析详情 profile只能查看到SQL的执行耗时,但无法看到SQL真正执行的过程信息,不知道MySQL

    3.3K62编辑于 2023-10-17
  • 来自专栏Java架构师必看

    如何查找MySQL中查询SQL语句

    如何查找MySQL中查询SQL语句 强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码 查看MySQL是否启用了查看SQL的日志文件 (1) 查看SQL日志是否启用 mysql> show variables like 'log_slow_queries ----+ | log_slow_queries | ON    | +------------------+-------+ 1 row in set (0.00 sec) (2) 查看执行于多少秒的 SQL会记录到日志文件中 mysql> show variables like 'long_query_time'; +-----------------+-------+ | Variable_name log_slow_queries="C:/temp/mysql_slow.log" long_query_time=1 log指示日志文件存放目录; log_slow_queries指示记录执行时间长的sql

    7.5K10发布于 2021-09-18
  • 来自专栏自学测试之道

    开启MYSQL查询日志,监控优化SQL效率

    登录成功 二、查看是否开启了查询日志 输入命令【show variables like 'slow_query_log'】,页面会显示是否开启了查询日志,slow_query_log =ON,代表已经开启 日志 三、开启索引的监控 通过设置log_queries_not_using_indexes开启为使用索引的监控,输入命令show variables like 'log_queries_not_using_indexes 结果 5.查询日志记录 ? 日志记录

    2.8K20发布于 2019-09-29
领券