mysql架构学习

一:总结mysql常见的存储引擎以及特点。1: MyISAM引擎不支持事务表级锁读写相互阻塞,写入不能读,读是不能写不支持外键约束不支持聚簇索引读取数据较快,占用资源较少奔溃恢复性差使用场景:只读(或者写较少)表较小(可以接受长时间进行修复操作)MyISAM引擎文件:tbl_name.frm:表格式定义tbl_name.MYD:数据文件tbl_name.MYI:索引文件2:InnoDB引擎特点:行级锁支持事务,适合处理大量短周期事务读写阻塞与事务隔离级别有关可缓存数
摘要由CSDN通过智能技术生成

一:总结mysql常见的存储引擎以及特点。

1: MyISAM引擎

不支持事务
表级锁
读写相互阻塞,写入不能读,读是不能写
不支持外键约束
不支持聚簇索引
读取数据较快,占用资源较少
奔溃恢复性差

使用场景:
只读(或者写较少)
表较小(可以接受长时间进行修复操作)

MyISAM引擎文件:
tbl_name.frm:表格式定义
tbl_name.MYD:数据文件
tbl_name.MYI:索引文件

2:InnoDB引擎

特点:
行级锁
支持事务,适合处理大量短周期事务
读写阻塞与事务隔离级别有关
可缓存数据和索引
支持聚簇索引
奔溃恢复性更好
支持MVCC高并发
从mysql5.5开始支持全文索引
从mysql5.5.5开始为默认的数据库索引

Innodb数据库文件

1)所有Innodb表的数据和索引放置于同一个表空间中:
数据文件:idbdata1,idbdata2,存放于datadir定义的目录下
表格式定义:tb_name.frm,存放datadir定义的每个数据库对应的目录下

2)每个表单独使用一个表空间储存表的数据和索引:
两类文件存每个数据库对应目录中
数据文件(储存数据和索引):tb_name.ibd
表格式定义:tb_name.frm

2. index索引

2.1 索引是什么

是排序的快速查找的特殊数据结构,定义作为查找条件的字段上,又称为key,索引通过储存引擎实现

优点:

  1. 索引可以降低服务需要扫描的数据量,减少IO次数
    2)索引可以帮助服务器避免排序和使用临时表
    3)索引可以帮助将随机I/O转为顺序IO

缺点:
1)占用额外空间,影响插入速度

2.2 索引的分类

2.2.1 (根据储存结构划分)
B-Tree, HASH,R-Tree, full text
2.2.2 从应用层次划分
普通索引:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值