mysql进阶-06存储引擎Innodb

innodb是mysql5.5及以后版本默认存储引擎

innodb支持事务
innodb适用表空间进行数据存储

配置:innodb_file_per_table
    on:独立表空间:tableName.ibd
    off:系统表空间:ibdataX

系统表空间和独立表空间的选择

比较:
    1. 系统表空间无法简单的收缩文件大小
    2. 独立表空间可以通过optimize table命令收缩系统文件
    3. 系统表空间会产生IO瓶颈
    4. 独立表空间可以同时向多个文件刷新数据
    5. 建议使用独立表空间
    mysql5.6以后独立表空间是默认配置

innodb存储引擎特性

1. innodb是一种事务性存储引擎
 完全支持事务的ACID特性
 Redo Log和Undo Log(实现事务的这几个特性)
    Redo Log 主要实现事务的持久性【存储已提交的数据】
    Undo Log 存储未提交的数据【需要随机读写】

2. innodb支持行级锁
    1. 行级锁可以最大程度的支持并发
    2. 行级锁是由存储引擎层实现的

    锁:
        数据库系统区分文件系统的
        重要特性
    
      1. 锁主要作用是管理共享资源的并发访问
      2. 锁用于实现事务的隔离性
    
    锁类型:
        共享锁(读锁)
        独占锁(写锁)
-写锁读锁
写锁不兼容不兼容
读锁不兼容兼容
锁的粒度
    行
    列
    表
锁定的越少,效率越高

表级锁:开销小,并发低(mysql服务器上实现的)
行级锁:开销大,并发高

阻塞:
    一个事务中的锁等待另一个锁释放
    数据库连接大量堆积,性能降低
死锁:
    1.多个事务之间相互占用对方的资源
    2. 系统会自动发现死锁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值