zoukankan      html  css  js  c++  java
  • MySQL知识整理

    mysql
    常用工具
    1)show processlist
    查看正在执行的sql
    2)show profile分析SQL
    先用select @@profiling查看结果,结果为1,说明已经开启。
    show profiles 查看Sql耗时。
    show profile for query QueryID 查看具体耗时的信息
    3)Trace分析优化器的执行计划
    使用set optimizer_trace='enabled=on',end_markers_in_json=on; 语句打开trace分析
    查看具体的优化器执行计划:
    select * from `information_schema`.optimizer_trace
    4)利用工具查询数据库的读写比例
    show global status like 'Com_______' 这个SQL可以查看select、update、insert、delete都被执行了多少次
    show global status like 'Innodb_row_%' 除了查看Innodb的读写情况,还可以查看锁的情况。


    查询在什么时候不走索引
    主要三种情况
    1)不满足走索引的条件,常见的情况有
    1.1)不满足最左匹配原则
    1.2)查询条件使用了函数
    1.3)or操作有一个字段没有索引
    1.4)使用like条件以%开头
    2)走索引效率低于全表扫描,常见的情况有
    2.1)查询条件对null做判断,而null的值很多
    2.2)一个字段区分度很小,比如性别、状态
    3)需要回表的查询结果集过大,超过了配置的范围

    网上的58Mysql军规,适用于互联网、大数据量的业务。

    to be continued

  • 相关阅读:
    安装Joomla!3
    keepalived + lvs
    systemd 服务介绍
    lvs 进阶 第二章
    lvs 初始 第一章
    iptables 最终 第四章
    bind 笔记
    iptables 扩展匹配 第三章
    iptables 认识 第二章
    iptables 初见 第一章
  • 原文地址:https://www.cnblogs.com/lihao007/p/14225413.html
Copyright © 2011-2022 走看看