随笔分类 - MySQL
MySQL数据库的基础知识和常见面试题
摘要:MVCC 实现原理 总结: 并发事务在操作资源的时候,存在着三种操作,分别为: 读读操作、读写操作、写写操作,这三种操作可能带来脏读、不可重复读、幻读的问题。使用锁能够解决这些问题,但是,加锁每次只能有一个事务操作资源,会导致数据库性能不佳。因此就有了MVCC。 MVCC指的是多版本并发控制。 使用
阅读全文
摘要:数据库范式 1. 第一范式(1 NF ) 第一范式是最基本的范式,符合数据表的原子性。第一范式就是每一个属性都不可再分。 表中的同一列的类型相同 一个列名只能对应到一列 每一列都不可分 行的上下关系互不影响 2. 第一范式(2 NF) 第二范式,是在1 NF的基础上,消除了非主属性对于主属性的部分函
阅读全文
摘要:SQL语句执行过程 在谈SQL语句的执行流程之前,我们需要先知道MySQL的基础架构。 MySQL基础架构 MySQL基础架构: MySQL主要分为Server层和存储引擎层: Server层: 主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触
阅读全文
摘要:索引 1. 索引是什么?有什么作用?使用索引的优缺点? 索引是一种用于快速查询和检索数据的数据结构。常见的索引结构有: B 树, B+树和 Hash索引。 优点: 使用索引可以大大加快数据的检索速度。 通过唯一性索引,可以保证数据库表中每一行数据的唯一性。 缺点: 创建索引和维护索引需要耗费很多时间
阅读全文
摘要:事务 1. 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 经典的例子就是:小明要给小红转账1000元,这个转账会涉及两个关键操作: 将小明的余额减少1000元 将小红的余额增加1000元 事务会把这两个操作看作一个整体,这个整体包含的工作要么都成功,要么都失败。这样就不会出现小明
阅读全文
摘要:1. 存储引擎 1.1 存储引擎相关的命令 查看MySQL提供的所有存储引擎 show engines; MySQL当前默认的存储引擎是InnoDB 在5.7版本所有的存储引擎中只有InnoDB支持事务。 查看MySQL当前默认的存储引擎 show variables like `%storage_
阅读全文
摘要:环境变量配置网上有很多教程了 打开Mysql终端 Mysql 安装好后 打开 MySQL 5.7 Command Line Client - Unicode 通过密码登录到mysql 终端输入以下命令进行设置 (1)首先需要设置MySQL数据库中user表中host为%,%代表任意的IP地址。 Up
阅读全文