随笔分类 -  mysql

摘要:存储引擎基于表,而不是数据库 InnoDB 存储引擎 支持事务,设计主要面向在线事务处理(OLTP)的应用 行锁设计,支持外键,非锁定读,5.6以后支持全文索引 从MySQL 5.5.8 版本开始 InnoDB是默认的存储引擎 通过MVCC获得高并发性,实现了4种隔离级别,默认为REPEATABL 阅读全文
posted @ 2020-10-23 21:06 挣扎一下 阅读(134) 评论(0) 推荐(0)
摘要:主从延迟如何解决 从库关闭binlog 假如网络问题,优化网络 确认负载,假如从库负载高,加从库 mysql-5.6.3已经支持了多线程的主从复制 乐观锁和悲观锁的适用场景 乐观锁 通过在表中增加版本号的形式使用,每次update的时候会去检查版本号是否有过变更。假如变更则更新失败重新发起流程。 适 阅读全文
posted @ 2020-08-14 00:13 挣扎一下 阅读(160) 评论(0) 推荐(0)
摘要:连接 服务端 控制连接超时时间,总连接数 客户端 使用连接池(连接池里连接数量不是越大越好,默认8-10个) SQL Explain 索引 最左匹配原则 分表分库 垂直拆分 水平拆分 主从复制 从服务器:I/O Thread:请求master获取binlog,然后写入到relay log里;从服务器 阅读全文
posted @ 2020-07-27 23:10 挣扎一下 阅读(173) 评论(0) 推荐(0)
摘要:事务的特性 ACID 原子性 一致性 隔离性 持久性 通过redolog 和 doublewrite(页损坏的情况) 实现持久性 事务什么时候开启 默认自动开启,自动提交。 通过begin;命令显式开启事务;通过commit;/rollback;结束事务。 事务的隔离级别 读未提交 存在的问题:脏读 阅读全文
posted @ 2020-07-24 23:58 挣扎一下 阅读(147) 评论(0) 推荐(0)
摘要:索引 一个排序的数据结构,用来协助提升查询效率。InnoDB中是B+树。 Page InnoDB中存储数据的最小逻辑单位,一个页16KB,存储多个行。 一个节点上就是一个页的大小,页的数据在节点中。加载节点的次数越多,I/O寻址的次数越多。B+树矮胖 减少了寻址次数。 B+树和B树区别 关键字数和分 阅读全文
posted @ 2020-07-24 00:15 挣扎一下 阅读(191) 评论(0) 推荐(0)
摘要:MYSQL执行流程 建立连接 连接协议:TCP/IP、Unix Socket 通信方式:半双工 发送请求 查询缓存(默认缓存不开启) 解析器 词法解析 语法解析 生成解析树 预处理 语义解析 得到新的解析树 优化器 选择开销最小的执行计划 查询执行引擎(执行器) 存储引擎 概念:存储引擎是组织数据存 阅读全文
posted @ 2020-07-23 20:58 挣扎一下 阅读(140) 评论(0) 推荐(0)