• 【MySQL】索引和事务(B树、B+树图解原理)


    一、索引

    1.1 什么是索引?

    索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。

    1.2 索引的作用

    🚓(1)数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。
    🚓(2)索引所起的作用类似书籍目录,可用于快速定位、检索数据。
    🚓(3)索引对于提高数据库的性能有很大的帮助。

    在这里插入图片描述

    1.3 使用场景

    🚗(1)数据量较大,且经常对这些列进行条件查询。
    🚗(2)该数据库表的插入操作,及对这些列的修改操作频率较低。
    🚗(3)索引会占用额外的磁盘空间。

    反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引。

    1.4 索引的相关SQL

    🚕(1)查看索引

    show index from 表名;
    
    • 1

    🚕(2)创建索引

    create index 索引名字 on 表名(列名);
    
    • 1

    🚕(3)删除索引

    drop index 索引名字 on 表名;
    
    • 1

    1.5 索引背后的数据结构-B+树

    在介绍B+树之前先了解一下B+树的前身B树(也叫B-树)
    在这里插入图片描述
    B+树:
    e

    二、事务

    2.1 什么是事务?

    事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。

    2.2 使用事务的目的

    为了把若干个独立的操作打包成一个整体

    2.3 事物的基本特性:

    2.3.1 原子性

    我们把要么一起成功(A帐户成功减少1000,同时B帐户成功增加1000),要么一起失败(A帐户回到原来状态,B帐户也回到原来状态)的操作叫原子性操作

    2.3.2 一致性

    在事务执行之前,和执行之后,数据库中的数据都是合理合法的,数据库不会因事务执行而遭到破坏

    2.3.3 隔离性

    隔离性是针对数据资源的并发访问,规定了各个事务之间相互影响的程度。

  • 相关阅读:
    Anaconda prompt 启动jupyter时,出现版本的问题
    OpenCV 人脸检测(易上手版)
    【板栗糖GIS】DOS—如何在目录文件中批量建立子文件夹
    【shell】$# 获取函数参数
    计算机网络
    css--内外边距、 盒子模型、位置、浮动
    stm32-----定时中断基本结构
    云畅科技携手飞腾打造智慧园区信创低代码综合解决方案
    etcd实现大规模服务治理应用实战
    工业物联网网关 串口网关 多协议网关
  • 原文地址:https://blog.csdn.net/m0_68101404/article/details/134440956