
MySQL 面试之事务和锁篇
MySQL 事务
扩展阅读:
【简单】什么是事务,什么是 ACID?
事务指的是满足 ACID 特性的一组操作。事务内的 SQL 语句,要么全执行成功,要么全执行失败。可以通过 Commit
提交一个事务,也可以使用 Rollback
进行回滚。通俗来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。
扩展阅读:
事务指的是满足 ACID 特性的一组操作。事务内的 SQL 语句,要么全执行成功,要么全执行失败。可以通过 Commit
提交一个事务,也可以使用 Rollback
进行回滚。通俗来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。
“索引”是数据库为了提高查找效率的一种数据结构。
日常生活中,我们可以通过检索目录,来快速定位书本中的内容。索引和数据表,就好比目录和书,想要高效查询数据表,索引至关重要。在数据量小且负载较低时,不恰当的索引对于性能的影响可能还不明显;但随着数据量逐渐增大,性能则会急剧下降。因此,设置合理的索引是数据库查询性能优化的最有效手段。
概述
CRUD 由英文单词 Create, Read, Update, Delete 的首字母组成,即增删改查。
本文通过介绍基本的 MySQL CRUD 方法,向读者呈现如何访问 MySQL 数据。
扩展阅读:SQL 语法必知必会
概述
数据类型在 MySQL 中扮演着至关重要的角色,它定义了表中每个字段可以存储的数据种类和格式。
MySQL 支持多种类型,大致可以分为三类:数值、时间和字符串类型。
概述
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS 应用软件之一。
本文简单介绍了 MySQL 的功能、特性、发行版本、简史、概念,可以让读者在短时间内对于 MySQL 有一个初步的认识。
关系型数据库是指采用了关系模型来组织数据的数据库。关系模型是一种数据模型,它表示数据之间的联系,包括一对一、一对多和多对多的关系。在关系型数据库中,数据以表格的形式存储,每个表格称为一个“关系”,每个关系由行(记录或元组)和列(字段或属性)组成。
常见的关系型数据库有:MySQL、Oracle、PostgreSQL、MariaDB、SQL Server、SQLite 等。
SQL 是 Structured Query Language(结构 化查询语言)的缩写。SQL 是一种专门用来与数据库沟通的语言。
复制是解决系统高可用的常见手段。其思路就是:不要把鸡蛋都放在一个篮子里。
复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台从库上,从库本身也可以被配置成另外一台服务器的主库。主库和从库之 间可以有多种不同的组合方式。
MySQL 支持两种复制方式:基于行的复制和基于语句的复制。这两种方式都是通过在主库上记录 bin log、在从库重放日志的方式来实现异步的数据复制。这意味着:复制过程存在时延,这段时间内,主从数据可能不一致。
数据库规范化,又称“范式”,是数据库设计的指导理论。范式的目标是:使数据库结构更合理,消除存储异常,使数据冗余尽量小,增进数据的一致性。
根据约束程度从低到高有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)等等。
不同存储引擎对于锁的支持粒度是不同的,由于 InnoDB 是 MySQL 的默认存储引擎,所以本文以 InnoDB 对于锁的支持进行阐述。