美文网首页
高性能mysql笔记 第一章

高性能mysql笔记 第一章

作者: lypxhxjj | 来源:发表于2018-09-16 19:51 被阅读0次

1. mysql的逻辑架构

image.png
(图片来源:https://blog.csdn.net/fuzhongmin05/article/details/70904190

连接线程处理:每个客户端都会在服务器进程中拥有一个线程。一般使用线程池,不必每次都创建和销毁。

解析器:mysql会对查询语句进行解析,解析为一个内部的数据结构,然后对这个结构进行优化:重写查询,决定表的读取顺序,选择合适的索引等(?)。

2. mysql的并发控制:

  1. 锁粒度包含了很多种,最重要的包含了表级别的锁,行级别的锁:表锁和行级锁;
  2. 表锁一般使用读写锁实现,写优先;行级锁的实现比较复杂。
  3. 锁的粒度越大,实现起来越简单,但是延迟也就越大;
  4. mysql的锁粒度是可以配置的。

3. 事务的概念

一个事务包含了很多的操作,这些操作具有以下四个特性:

  1. 原子性:一个事务中的操作要么全部完成,要么全部没完成,完成一半出问题,需要将当前事务回滚到未操作之前;
  2. 一致性:事务完成与没有完成是两个状态,数据库只在这两个状态之间切换,没有第三种状态。
  3. 隔离性:一个事务与另一个事务是相互无影响的;
  4. 持久性:事务完成之后提交到数据库,数据是持久保存在数据库中的。

4个特性简称ACID。

4. 隔离级别

四个级别:

  1. RU:未提交读(READ UNCOMMITED)
    事务之间相互可见。不常用。

  2. RC :提交读(READ COMMITED)
    大多数数据库默认这个级别(mysql不是):一个事务只能看到另一个事务提交之后的状态,不能看到事务内部。
    存在不可重复读的问题:一个事务内的两次相同的读,结果可能会不一样。

  3. RR:可重复读(REPEATABLE READ)
    mysql属于这个级别:同一事务中的两次相同的读,结果是一样的。
    存在幻读的问题:同一事务内读取范围内的记录时,不能保证每次行数是一样的。

  4. S:可串行化(SERIALIZABLE)
    最高的隔离级别:强制事务之间串行执行。大量的锁争用,很少使用。

5. 死锁问题

数据库中发生死锁的概率很大,要有对死锁的处理能力。(两个事务同时等待对方已经持有的锁)
(1)死锁检测:检测有可能死锁,返回一个错误;
(2)死锁超时:事务超时,将比较简单的事务回滚。

相关文章

  • 《高性能MySQL》&《MySQL技术内幕 InnoDB

    《高性能MySQL》&《MySQL技术内幕 InnoDB存储引擎》笔记 第一章 MySQL架构与历史 MySQL的...

  • MySQL 索引的类型

    读《高性能MySQL》第三版,笔记。官方文档:https://dev.mysql.com/doc/refman/5...

  • MySQL 解析单条查询

    读《高性能MySQL》第三版,笔记。官方文档:https://dev.mysql.com/doc/refman/5...

  • MySql高性能笔记 - (一)Mysql基础知识

    MySql高性能笔记 - (一)Mysql基础知识 1. 读写锁:### 读锁 - 共享锁:互相不阻塞的。多个客户...

  • 高性能MySQL之运行机制

    本文来自于拜读《高性能MySQL(第三版)》时的读书笔记作者:安明哲转载时请注明部分内容来自《高性能MySQL(第...

  • MySQL逻辑架构简介

    @[toc]最近在看《高性能MySQL》一书,并做了笔记,整理成博客,分享出来: 一、逻辑结构简介 Mysql服务...

  • 第一章 MySQL架构与历史

    高性能MySQL(第3版) 学习笔记 1.1 MySQL逻辑架构 MySQL的逻辑架构图共分为三层: 第一层:服务...

  • MySQL的逻辑架构

    MySQL的逻辑架构 MySQL的逻辑架构(from《高性能MySQL》)MySQL逻辑架构,来自:高性能MySQ...

  • Mysql学习笔记

    本文章记录在读《高性能mysql》时的笔记,持续更新。章节内容会按照书中章节进行梳理。 一、Mysql 架构与历史...

  • 高性能Mysql笔记

    一、Mysql架构与历史 1、架构图 2、锁 表锁 行级锁 3、事务 死锁 Mysql中的事务 1

网友评论

      本文标题:高性能mysql笔记 第一章

      本文链接:https://www.haomeiwen.com/subject/pppfnftx.html