zoukankan      html  css  js  c++  java
  • MySQL架构原理及优化

    索引原理

    架构

    逻辑架构

    MySQL查询执行过程

    执行流程图

    1. 客户端向MySQL服务器发送一条查询请求

    2. 服务器首先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段

    3. 服务器进行SQL解析、预处理、再由优化器生成对应的执行计划

    4. MySQL根据执行计划,调用存储引擎的API来执行查询

    5. 将结果返回给客户端,同时缓存查询结果

    优化

    1. MySQL 不会在非独立列使用索引 ,即 where 后查询条件不能是表达式的一部分不能是函数的参数
    2. 列很成,使用前缀索引 ,节省索引空间,提高索引效率
    3. 多列索引和索引顺序
    • 当出现多个索引做相交操作时(多个AND条件),通常来说一个包含所有相关列的索引要优于多个独立索引。
    • 当出现多个索引做联合操作时(多个OR条件),对结果集的合并、排序等操作需要耗费大量的CPU和内存资源,特别是当其中的某些索引的选择性不高,需要返回合并大量数据时,查询成本更高。所以这种情况下还不如走全表扫描
    1. 避免多个范围条件,多个范围条件无法同时使用索引 ,即索引失效
    2. 避免索引的冗余与重复
    3. 删除长期未使用的索引
  • 相关阅读:
    Linux操作系统的进程管理
    CentOS 7网络配置工具
    Python并发编程-线程
    Python并发编程-queue
    Python并发编程-并发解决方案概述
    图Graph
    计算机网络基础之IP地址详解
    计算机网络基础之TCP/IP 协议栈
    计算机网络基础之网络设备
    计算机网络基础之OSI参考模型
  • 原文地址:https://www.cnblogs.com/luckyCoder/p/12732333.html
Copyright © 2011-2022 走看看