随笔分类 -  MySQL

摘要:一.bin log日志 它记录数据库所有执行的DDL和DML等数据库更新事件的语句,但不包含没有修改任何数据的语句(select,show等)。 应用场景: 用于数据恢复:数据库宕机,可以使用该日志进行恢复。 用于数据复制:主节点发送数据到从节点。 写入机制:事务开始的时候,先把日志写到binlog 阅读全文
posted @ 2022-02-01 22:43 小猴子_X 阅读(69) 评论(0) 推荐(0) 编辑
摘要:一.概述 读-读:并发不存在问题,不需要加锁 写-写:并发存在问题,可能会造成脏写(一个事务没有写完,另一个事务也对相同的数据进行写),但是这种情况,任何一种隔离级别都不允许发生,在隔离级别的时候就解决了。 读-写/写-读:会造成脏读,幻读,不可重复读的问题。每个数据厂商对它的支持也是不相同的 解决 阅读全文
posted @ 2022-02-01 21:33 小猴子_X 阅读(798) 评论(0) 推荐(0) 编辑
摘要:调优的目的?让吞吐量更大,响应速度更快。 关于数据库优化,我们从以下5个维度进行。 一.优化表结构 表结构尽量遵循三范式的原则,在进行多表查询的时候,必要时可以采用反范式化进行优化。 什么叫范式? 在关系型数据库中,关于数据表设计的基本原则,规则就称为范式。 一共有6大范式,知道前5个就行。满足了高 阅读全文
posted @ 2022-01-31 22:34 小猴子_X 阅读(1684) 评论(1) 推荐(4) 编辑
摘要:一.事务的概述 如何开启事务? 显示事务:start transaction;//开启事务 commit;//提交事务 rollback;//回滚事务 隐式事务:set autocommit = true;默认开启,DDL,修改表结构(alter)等都是隐式提交。 事务的基本特征? "原子性"(at 阅读全文
posted @ 2022-01-31 00:23 小猴子_X 阅读(360) 评论(0) 推荐(0) 编辑
摘要:一.索引的概述 什么是索引? 本质:索引是一种"数据结构"。索引就是为了快速查找那些具有特定值的记录。没有索引,就需要查找整个表,效率低。 索引是在存储引擎中实现的。 为什么建立索引? 为了减少磁盘的IO次数,加快查询速度 索引的基本原理? 对创建索引的列进行排序,生成倒排表 在倒排表内容上填上真实 阅读全文
posted @ 2022-01-30 19:38 小猴子_X 阅读(101) 评论(0) 推荐(0) 编辑
摘要:关于数据库调优有很多方面,核心思想是"通过调优工具先找到慢查询语句,然后进行分析"。 具体调优的方法请看 https://www.cnblogs.com/monkey-xuan/p/15858689.html 1.定位执行慢的SQL:慢查询日志。 show variables like '%slow 阅读全文
posted @ 2022-01-29 22:55 小猴子_X 阅读(214) 评论(0) 推荐(0) 编辑
摘要:1.MySQL执行SQL语句的流程? 为了解决这个问题,先来看看MySQL的结构图吧 连接池:提供多个客户端与服务端交互的线程。 SQL接口:接收SQL指令,返回查询结果。 查询缓存:以key-value的方式缓存查询结果。 该部分在MySQL8.0的时候去除掉了。 在MySQL5.0默认开启:在配 阅读全文
posted @ 2022-01-29 22:46 小猴子_X 阅读(74) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示