美文网首页PHP
SQL查询优化

SQL查询优化

作者: Gundy_ | 来源:发表于2017-02-14 15:14 被阅读26次

如何获取有性能问题的SQL

  1. 通过用户反馈获取存在性能问题的SQL
  2. 通过慢查日志获取存在性能问题的SQL
  3. 实时获取存在性能问题的SQL

慢查询日志

mysqldumpslow 慢查询日志分析

mysqldumpslow -s r -t 10 slow-mysql.log

  • -s order(c t l r at al ar)
    c 总次数 t总时间 l锁时间 r总数据行 带a表示平均数
  • -t 指定前几条作为结束输出

pt-query-digest 慢查询日志分析

实时获取性能问题的SQL

infomation_scheme -> processlist

了解MySql查询过程

  1. 客户端发送SQL请求给服务器
  2. 服务器检查是否可以在查询缓存中命中该SQL
  3. 服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划
  4. 根据执行计划,调用存储引擎API来查询数据
  5. 将结果返回给客户端

读写频繁的SQL 不使用查询缓存
query_cache_type 设置查询缓存是否可用
query_cache_size 设置查询缓存内存大小

query_cache_limit 设置缓存可存储的最大值

不使用查询缓存 查询语句加上 SQL_NO_CACHE

大表的数据修改最好要分批处理

大表结构修改

对表中列的字段类型或者长度进行修改

  1. 主从服务器 现在从服务器更改再同步到主服务器

  2. 在主服务器新建一个表
    老表加上触发器 最后再加个排他锁,最后删除老表

  3. 使用pt-online-schema-change修改大表的表结构

pt-online-schema-change \
--alter="MODIFY c VARCHAR(150) NOT NULL DEFAULT ''"\
--USER=ROOT --password=PassWord D=database, t=sbtest4\
--charset=utf8 --execute

相关文章

  • Java面试题:数据库优化策略有哪些?

    1、Sql优化主要优化的还是查询, 优化查询的话, 索引优化是最有效的方案。 首先要根据需求写出结构良好的SQL,...

  • SQL优化

    SQL优化 在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有...

  • 11-mysqlSQL分析

    六星教育 - java-mysql优化1909 SQL优化 所谓SQL优化:基于MySQL的优化器查询规则来优化S...

  • 不可置信!SQL 优化终于干掉了“distinct”

    sql 优化之多表联合查询干掉 “distinct” 去重关键字 所以需要把多表的子查询的 sql 结构进行优化。...

  • mysql 问题整理

    SQL 优化 范式 在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些...

  • MySQL | 使用 limit 优化查询和防止SQL被优化

    使用 limit 优化查询和防止SQL被优化 Table of Contents 查询优化 1.1 最大值和最小值...

  • 数据库索引相关问题

    如何定位并优化慢查询Sql 根据慢日志定位慢查询sql 使用explain等工具分析sql 修改sql或者尽量让s...

  • 2021-01-16 - mysql优化

    分页优化 表结构如下 根据主键的查询排序 sql查询 会用到索引吗? 非主键的排序分页查询 sql查询 会用到索引...

  • SQL 语句优化整理

    为了提高 SQL 查询效率,我们都会采取一切 SQL 语句的优化。 1 对查询进行优化,应尽量避免全表扫描,首先应...

  • 30种 SQL 语句优化,进阶必备(一)

    为了提高 SQL 查询效率,我们都会采取一切 SQL 语句的优化。 1 对查询进行优化,应尽量避免全表扫描,首先应...

网友评论

    本文标题:SQL查询优化

    本文链接:https://www.haomeiwen.com/subject/fvwxwttx.html