![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 84
luelueking
连代码都不会敲的小再
展开
-
Mysql面试篇(四)锁
7. 锁全局锁用作全量备份时,保证表与表之间的数据一致性如果不加任何包含,数据备份时就可能产生不一致的情况,如下图所示全局锁的语法:flushtableswithreadlock; 使用全局读锁锁定所有数据库的所有表。这时会阻塞其它所有 DML 以及 DDL 操作,这样可以避免备份过程中的数据不一致。接下来可以执行备份,最后用 unlock tables 来解锁 注意但 flush tables 属于比较重的操作,可以使用 --single-trans...原创 2022-04-30 19:00:00 · 684 阅读 · 0 评论 -
Mysql面试篇(三)查询语句执行流程&undo log 与 redo log
5. 查询语句执行流程执行 SQL 语句 select * from user where id = 1 时发生了什么 连接器:负责建立连接、检查权限、连接超时时间由 wait_timeout 控制,默认 8 小时 查询缓存:会将 SQL 和查询结果以键值对方式进行缓存,修改操作会以表单位导致缓存失效 分析器:词法、语法分析 优化器:决定用哪个索引,决定表的连接顺序等 执行器:根据存储引擎类型,调用存储引擎接口 存储引擎:数据的读写接.原创 2022-04-30 18:00:00 · 801 阅读 · 0 评论 -
Mysql面试篇(二)InnoDB vs MyISAM & 索引
3. InnoDB vs MyISAM😀InnoDB 索引分为聚簇索引与二级索引 聚簇索引:主键值作为索引数据,叶子节点还包含了所有字段数据,索引和数据是存储在一起的 二级索引:除主键外的其它字段建立的索引称为二级索引。被索引的字段值作为索引数据,叶子节点还包含了主键值 支持事务 通过 undo log 支持事务回滚、当前读(多版本查询) 通过 redo log 实现持久性 通过两阶段提交实现一致性原创 2022-04-30 17:00:00 · 559 阅读 · 0 评论 -
Mysql面试篇(一)隔离级别&快照读与当前读
1. 隔离级别要求 掌握四种隔离级别与相关的错误现象 未提交读 读到其它事务未提交的数据(最新的版本) 错误现象:有脏读、不可重复读、幻读现象 脏读现象tx1 tx2 set session transaction isolation level read uncommitted; start transaction; select * from account; /两个账户都为 1000/ start ..原创 2022-04-30 12:31:13 · 1758 阅读 · 0 评论 -
Mysql高级篇
1约束1.1 概念 约束是作用于表中列上的规则,用于限制加入表的数据 例如:我们可以给id列加约束,让其值不能重复,不能为null值。 约束的存在保证了数据库中数据的正确性、有效性和完整性 添加约束可以在添加数据的时候就限制不正确的数据,年龄是3000,数学成绩是-5分这样无效的数据,继而保障数据的完整性。 1.2 分类 😀非空约束: 关键字是 NOT NULL 保证列中所有的数据不能有null值。 例如:id列在添加 马花疼 这条数据时就不能添加成功。 .原创 2022-04-30 10:44:55 · 65 阅读 · 0 评论 -
Mysql基础之DDL&DML&DQL&DCL
1.DDLDDL(Data Definition Language) : 数据定义语言,用来定义数据库对象:数据库,表,列等(DDL简单理解就是用来操作数据库,表等)1.1 查询SHOWDATABASES;--查询所有的数据库1.2 创建数据库CREATEDATABASE数据库名称;--创建数据库CREATEDATABASEIFNOTEXISTS数据库名称;--创建数据库(判断,如果不存在则创建)1.3 删除数据库DROPDATAB...原创 2022-04-29 15:17:36 · 215 阅读 · 0 评论