mysql

本文介绍了MySQL的逻辑架构,重点讲解了索引的定义、存储、优势和劣势,以及不同类型的索引。此外,还探讨了MySQL的存储引擎,如InnoDB和MyISAM的差异,包括锁的粒度和事务支持。通过查看存储引擎和理解索引的工作原理,有助于优化数据库性能。
摘要由CSDN通过智能技术生成

特性:

  • Atomicity原子性:也称‘全有或全无规则’,事务要么完整发生,要么根本不发生,不会部分发生,分为中止和提交两个操作
  • consistency一致性:事务在执行前和执行后数据的不变和正确
  • Isolation隔离性:两个同的事务不会互相影响,是完全独立的
  • durability持久性:事务在提交后的操作对数据库的影响是永远存在的
    隔离级别(事务隔离是依靠锁来实现的)
  • 读未提交:
  • 读已提交
  • 可重复读(mysql的默认级别)
  • 串行化
    四种隔离级别会产生的问题
    **脏读:**读未提交,读到其它程序还没有提交的数据
    **不可重复读:**同一个事务内不同时刻读到的数据可能是不一样的,可能会收到其它事务影响,比如当前事务1还没有结束,其它事务也访问了这个数据并更改了,事务1再次读取这个数据时发现前后读到的值不一样
    **幻读:**其它事务提前插入了相同的数据,当前程序在执行时以为没有更改过
    update时加锁过程中要分两种情况:
    如果更新的字段不为主键,mysql无法直接定位到这行数据,则会为这张表中所有的行加锁,之后一遍遍过滤发现不满足的就将锁释放,最后只留下符合的行,这其中加锁释放锁的过程对性能影响极大
    解决不可重复读使用mvcc。即在每条数据上添加版本字段,记为row trx_id用来标记产生事务的id,在事务开始的时候向事务系统申请
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值