08 2021 档案

摘要:1.mysql 主备的基本原理。 2.主备库之间维持一个长连接。 3.binlog的三种格式对比。 binlog_format == 1.statement 存在sql原文,指定表名,出现删除索引不一致,造成主备不一致,可能是unsafe 2.row 2.1 Table_map event 说明要操 阅读全文
posted @ 2021-08-05 20:55 a菜搬砖 阅读(72) 评论(0) 推荐(0) 编辑
摘要:select name,age from t where name='张三' order by age limit 1000 ; 1.全字段排序 认为内存够用,将全字段都放到 sort_buffer 中,这样可以直接从内存中返回查询结果,不用回表取数据。 --MySQL会给每个线程分配一块内存用于 阅读全文
posted @ 2021-08-05 20:17 a菜搬砖 阅读(150) 评论(0) 推荐(0) 编辑
摘要:原则: 1.service层要什么给什么 2.InnoDB只给必要的值 3.现在的优化器只优化count(*)的语义为--取行数--,其他‘显而易见’的优化并没有做。 对于count(主键id),InnoDB引擎会遍历整张表,把每一行的id取出来,返回给service层。service判断是不可能为 阅读全文
posted @ 2021-08-05 20:08 a菜搬砖 阅读(37) 评论(0) 推荐(0) 编辑
摘要:InnoDB表包含两部分: 表结构定义和数据。 参数innodb_file_per_table 1.设置off 表数据存放在系统共享空间,也就是跟数据字典放到一起。 2.设置on,表数据存储在一个以.ibd为后缀的文件中。 drop table 命令可以直接删除这个文件。 如果放到 共享表空间,即使 阅读全文
posted @ 2021-08-05 20:05 a菜搬砖 阅读(141) 评论(0) 推荐(0) 编辑
摘要:向磁盘数据的时机: 1.redo log 满了,此时需要把 checkpoint 往前推进,将推进的段落的所有脏页flush到磁盘之上。之后该段落就可以继续写redo log 日志。 --此时不在接受数据 监控中更新数据为0。 2.内存满了。需要淘汰部分数据,如果淘汰脏页,就要先把 changger 阅读全文
posted @ 2021-08-05 19:59 a菜搬砖 阅读(43) 评论(0) 推荐(0) 编辑
摘要:普通索引和唯一索引 执行语句:select * from t where a= 5; 1.查询过程: 1.1普通索引,查找到满足条件后,需要在查询到不满足条件的下一条数据。 1.2对于唯一索引,由于索引确定了唯一性,查找到第一个满足条件的记录后,就会停止继续检索。 这样的差异对数据对性能的影响微乎其 阅读全文
posted @ 2021-08-04 20:48 a菜搬砖 阅读(505) 评论(0) 推荐(0) 编辑
摘要:事物的启动时机 bagein/start transaction命令并不是一个事务的起点,在执行事务到它们之后的第一个操作innodb的语句,才是事务开启。 如果要立马启动一个事务,可以使用 start transaction with consistent snapshot 这个命令。 mysql 阅读全文
posted @ 2021-08-04 20:45 a菜搬砖 阅读(40) 评论(0) 推荐(0) 编辑
摘要:1. 根据加锁的范围 锁大致可以分为,全局锁,表级锁,行级锁。 1.1.全局读锁的 方法: 命令 flush tables with read lock (FTWRL) 当需要把整个库处于只读状态,可以使用这个命令,之后数据更新语句,数据定义语句,更新类事务提交 都会阻塞。 如果你在主库上备份,那么 阅读全文
posted @ 2021-08-04 19:34 a菜搬砖 阅读(50) 评论(0) 推荐(0) 编辑
摘要:1.常用索引模型。 1.1 hash表 哈希表结构适合于 等值查询场景。 链表结构,非有序。 1.2 有序数据 有序数组,在等值查询和范围查询场景中的性能都十分优秀。 有序数组索引查询只适合静态存储引擎。 缺点:更新数据的成本高。 为了保证有序 1.3 搜素树 Innodb的索引模型 二叉树:效率高 阅读全文
posted @ 2021-08-02 21:19 a菜搬砖 阅读(42) 评论(0) 推荐(0) 编辑

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