MYSQL——存储引擎

  • MYSQL 存储引擎简介
    MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就成为存储引擎。
    ————
    每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。
    ————
    在关系数据库中存储引擎是以表的形式存储的,所以关系数据库中的存储引擎也可以成为表类型。
  • MySQL支持的存储引擎
    MyISAM:适用于事务的处理不多的情况,不支持外键
    InnoDB:适用于事务处理比较多,需要有外键支持的情况
    Memory
    CSV:由逗号分隔的存储引擎,会创建一个.csv的文件(普通文本文件)来存储数据,每一数据行占用一个文本行,不支持索引
    Archive
    另外mysql不支持的BlackHole:黑洞引擎,写入的数据都会消失,一般用于做数据复制的中继

  • 并发控制
    –当多个连接对记录进行修改时保证数据的一致性和完整性。


  • 共享锁(读锁):在同一时间段内,多个用户可以读取同一个资源,读取过程中数据不好发生任何变化。
    排它锁(写锁):在任何时候只能有一个用户写入数据,当进行写锁时会阻塞其他的读锁或者写锁操作。

  • 锁的力度(也叫锁的颗粒)
    锁颗粒:指锁的单位
    表锁:是一种开销最小的锁策略得到数据表的写锁(禁止其他用户进行读写,只能有一个锁)
    行锁:是一种开销最大的锁策略并行性最大(有多少条记录,就有可能对每条记录都进行锁),
    表锁的开销最小,因为使用锁的个数最小,行锁的开销最大,因为可能使用锁的个数比较多。

  • 事务处理
    -事务:用于保证数据库的完整性
    -事务处理:整个过程每一个单元全部完成才算事务处理成功,其中任何一个单元失败事务就会回滚。
    -事务的特性(ACID)
    —原子性(Atomicity)
    —一致性(Consistency)
    —隔离性(Isolation)
    —持久性(Durability)

  • 外键和索引
    -外键:保证数据一致性的策略
    -索引:对数据表中一列或多列的值进行排序的一种结构。使用索引可以快速访问数据表的特定信息。索引是进行快速定位的一种方法。(比如书的目录)
    —–普通索引
    —–唯一索引
    —–全文索引
    —–btree索引
    —–hash索引
    ………………

  • 各种存储引擎的特点
    这里写图片描述

  • 修改存储引擎的方法
    1.通过修改MySQL配置文件实现
    —- default-storage-engine=engine
    2.通过创建数据表命令实现
    —- CREATE TABLE table_name(


    ) ENGINE = enginie;
    比如:
    CREATE TABLE tb1(
    name VARCHAR(20)
    ) ENGINE = MyISAM;默认为InnoDB
    3.通过修改数据表命令实现
    — ALTER TABLE table_name ENGINE[=] engine_name;
    比如:
    ALTER TABLE tb1 ENGINE=InnoDB;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值