Mysql 简单入门


该文章不讲操作步骤,仅仅是做对mysql的认知,如有错误,请指出,相互探讨。

事务

事务时mysql执行的最小单元。
事务四大特性:

  • 原子性
  • 一致性
  • 隔离性
  • 持久性

事务是如何保证原子性的?
这是因为一个undolog的日志。比如说我们对一行数据进行操作,则会将其记录在undolog里面,只要不提交,则原表的数据则一直不变,当在undolog里一个操作失败,我们取消提交,则undolog里所有的信息清空。

搜索引擎

MyISAM

  • B+树为索引
  • 数据存储到另外的地方,B+叶子结点用来存储索引
  • 产生3个文件
  • 表级锁

InnoDB

  • B+树为索引
  • 数据存储到叶子结点
  • 产生2个文件
  • 行级锁

由上,可自行知道两者的区别和一致性。而后我们来解决一些相关的常见问题。

  1. 为什么InnoDB不适合全文索引,MyISAM适合?

答:我们来分析下:

  • 如果用InnoDB做全文索引,那么由于其存储特性:数据存储到叶子结点。数据多的话,内存肯定放不下。那么操作应该是:
    从磁盘加载部分数据放入内存。在内存中搜索要查询的信息,如果没有搜索到,则然后不断从磁盘上拿到数据放入内存,再加载,直到搜到需要查询的信息。

  • 用MyISAM。存储特性:索引存到叶子结点,那么可以全部放于内存。

故,MyISAM更适合全文索引。

  1. InnoDB支持事务,MyISAM不支持事务?
  • InnDB是行级锁
  • MyISAM是表级锁

主从模式

讲到主从模式,有个关键的东西叫做binlog。
binlog是用来存储执行记录的。就是对数据进行过操作的都会记录下来,除了select。因为这个并没有对数据产生实质性的修改。所以对debug没用。

binlog作用:

  • 恢复数据:当数据丢失,可以拿到昨天备份的数据,再根据binlog恢复数据
  • 主从模式:master数据存储后会存储到binlog这时候会发布同步通知到slave里面。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值