zoukankan      html  css  js  c++  java
  • Mysql数据库InnoDB及索引相关学习记录

    Mysql 存储引擎:InnoDB,MyISAM 等

    InnoDB架构:

    In-Memory Structure(内存结构) 在MySQL 服务进程内 包括:Adaptive Hash Index(自适应哈希索引),Log buffer(日志缓冲),change buffer(写缓冲),Buffer Pool(缓冲池)

    OS cache OS缓存 属于内核态内存

    On-Disk Sructure(磁盘结构)在文件系统上。主要包括 日志与表空间

    InnoDB中,主键索引是聚集索引, 其他索引是普通索引,普通索引记录的值是 主键。

    自适应哈希索引 AHI 系统为了加速自己判断使用哈希索引,像是 “索引的索引”。当然有时候也会误判。可以手动关闭API功能

    对应很多单行记录查询,范围查询 , AHI往往是很有效的。

    Mysql索引类型有 哈希和B+树,一般来说,哈希索引如 HashMap的 时间复杂度是 O(1) ,二叉树的时间复杂度是 : O(log(n)),对于排序查询,group by,order by,比较等,哈希索引的时间复杂度会退化为 O(n) 。

    InnoDB并不能手动设置Hash索引。

    数据结构

    B树是为了解决数据库搜索而被发明的。

    B树特点:

      1、与二叉树相比,是 m叉树 

      2、非叶子节点也存储数据

      3、中序遍历可以获得所有节点

      ps:树的遍历方式,以下图二叉树为例, 前序遍历:左中右 (CBDAFEG), 中序遍历:中左右 (ABCDEFG),后序遍历:右中左  (GEFADBC)。 

      

     B+树 是B树的改进版本

      1、非叶子节点不在存储数据

      2、叶子节点之间增加了链表

    相对于B树优势: 1、范围查找,叶子节点存储记录适用于大数据量磁盘存储。 2、非叶子节点存储,用于查询加速,适合内存存储。 3、相同情况下,B+树能存储更多索引

  • 相关阅读:
    css 网格布局简单应用
    服务器常用状态码
    js 操作数组
    下拉框 tree 基于 EasyUi
    c# 导出Excel
    select 多选 (EasyUI)
    如何提高sql查询速度
    总结JS中string、math、array的常用的方法
    php 验证邮箱 php验证手机号码 ph验证身份证
    jquery+php ajax上传多图片即时显示
  • 原文地址:https://www.cnblogs.com/zhanglifeng/p/12190460.html
Copyright © 2011-2022 走看看