乐趣区

关于mysql:MySQL调优笔记一基础架构

基础架构

客户端

Server 层

  1. 连接器
  • 治理连贯,连贯命令

    mysql -h127.0.0.1 -P3306 -uroot -p
  • 权限校验
  • 一个用户胜利建设连贯后,即便你用管理员账号对这个用户的权限做了批改,也不会影响曾经存在连贯的权限。批改实现后,只有再新建的连贯才会应用新的权限设置。
  • mysql 数据库 (零碎数据库) 下的表:user、db、tables_priv、columns_priv、proce_priv、proxies_priv 独特形成受权表。
  1. 查问缓存
  • 执行的语句及其后果会以 key-value 对的模式,被间接缓存在内存中。

    # 设置 query_cache_type = DEMAND
    select SQL_CACHE * from T where id=1;
  1. 分析器
  • 词法剖析,语法分析。
    分析器先会做“词法剖析”。你输出的是由多个字符串和空格组成的一条 SQL 语句,MySQL 须要辨认出外面的字符串别离是什么,代表什么。
    做完了这些辨认当前,就要做“语法分析”。依据词法剖析的后果,语法分析器会依据语法规定,判断你输出的这个 SQL 语句是否满足 MySQL 语法。
  1. 优化器
  • 执行打算生成,索引抉择。
    优化器是在表外面有多个索引的时候,决定应用哪个索引;或者在一个语句有多表关联(join)的时候,决定各个表的连贯程序。
  1. 执行器
  • 操作引擎,返回后果。
    开始执行的时候,要先判断一下你对这个表 table 有没有执行查问的权限,如果没有,就会返回没有权限的谬误;
    如果有权限,就关上表继续执行。关上表的时候,执行器就会依据表的引擎定义,去应用这个引擎提供的接口。

存储引擎(//TODO 索引详解)

  • innodb
  • myisam
  • memory usage

总结

本章介绍了 MySQL 的逻辑架构,心愿读者对一个 SQL 语句残缺执行流程的各个阶段有了一个初步的概念。

退出移动版