陕西省住房建设厅官方网站,网站建设深圳,河南的网络推广公司,长沙建设品牌网站https://www.bilibili.com/video/BV1Kr4y1i7ru/?p78 查看执行频次
查看当前数据库的 INSERT, UPDATE, DELETE, SELECT 访问频次#xff1a; SHOW GLOBAL STATUS LIKE Com_______; 或者 SHOW SESSION STATUS LIKE Com_______; 慢查询日志
慢查询日志记录了所有执行时间超过指… https://www.bilibili.com/video/BV1Kr4y1i7ru/?p78 查看执行频次
查看当前数据库的 INSERT, UPDATE, DELETE, SELECT 访问频次 SHOW GLOBAL STATUS LIKE Com_______; 或者 SHOW SESSION STATUS LIKE Com_______; 慢查询日志
慢查询日志记录了所有执行时间超过指定参数long_query_time单位秒默认10秒的所有SQL语句的日志。 MySQL的慢查询日志默认没有开启需要在MySQL的配置文件/etc/my.cnf中配置如下信息
#开启慢查询日志开关
slow_query_log1#设置慢查询日志的时间为2秒SQL语句执行时间超过2秒就会视为慢查询记录慢查询日志
long_query_time2更改后重启MySQL服务 systemctl restart mysqld 日志文件位置/var/lib/mysql/localhost-slow.log
查看慢查询日志开关状态 show variables like slow_query_log;
profile
show profile 能在做SQL优化时帮我们了解时间都耗费在哪里。 通过 have_profiling 参数能看到当前 MySQL 是否支持 profile 操作SELECT have_profiling; 通过 profiling 参数能看到当前 MySQL profiling是否开启SELECT profiling; profiling 默认关闭可以通过set语句在session/global级别开启 profilingSET profiling 1; 查看当前会话中所有语句的耗时show profiles;
查看指定query_id的SQL语句各个阶段的耗时show profile for query query_id;
查看指定query_id的SQL语句CPU的使用情况show profile cpu for query query_id;
explain
EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息包括在 SELECT 语句执行过程中表如何连接和连接的顺序。
语法 直接在select语句之前加上关键字 explain或者desc EXPLAIN SELECT 字段列表 FROM 表名 HWERE 条件; EXPLAIN 各字段含义
idselect 查询的序列号表示查询中执行 select 子句或者操作表的顺序id相同执行顺序从上到下id不同值越大越先执行select_type表示 SELECT 的类型常见取值有 SIMPLE简单表即不适用表连接或者子查询、PRIMARY主查询即外层的查询、UNIONUNION中的第二个或者后面的查询语句、SUBQUERYSELECT/WHERE之后包含了子查询等type表示连接类型性能由好到差的连接类型为 NULL、system、const、eq_ref、ref、range、index、all 类型解释possible_key可能应用在这张表上的索引一个或多个Key实际使用的索引如果为 NULL则没有使用索引Key_len表示索引中使用的字节数该值为索引字段最大可能长度并非实际使用长度在不损失精确性的前提下长度越短越好rowsMySQL认为必须要执行的行数在InnoDB引擎的表中是一个估计值可能并不总是准确的filtered表示返回结果的行数占需读取行数的百分比filtered的值越大越好