
MySQL
文章平均质量分 75
GzlAndy
秋后的蚂蚱,越蹦越欢~
展开
-
count查询详解
1。原创 2025-04-02 19:49:38 · 346 阅读 · 0 评论 -
MySQL表关联优化
2 基于块的嵌套循环连接Block Nested-Loop Join(BNL)算法。如果一次性不能将驱动数据加载进join_buffer中,则进行多次。1 嵌套循环连接Nested-Loop Join(NLJ)算法。那么此时如果采用NLJ算法进行关联查询呢?1采取全表扫描,将扫描a行数据。3 关联表SQL的优化。原创 2025-04-01 08:49:14 · 684 阅读 · 0 评论 -
MySQL分页查询优化
2 非主键排序分页查询优化。1 自增主键分页查询优化。原创 2025-03-31 19:33:44 · 307 阅读 · 0 评论 -
MySQL排序详解
MySQL支持两种方式排序filesort和indexindex是指扫描索引本身完成排序index效率高filesort是指通过内存或者排序文件完成排序filesort效率低orderby满足两种情况时会使用index排序orderby语句使用索引最左列where条件字段和orderby字段组合满足索引最左列配置给每个回话分配排序操作的缓冲区大小当需要排序的数据。原创 2025-03-29 17:31:31 · 415 阅读 · 0 评论 -
MySQL查询成本计算
【代码】MySQL查询成本计算。原创 2025-03-29 15:59:17 · 359 阅读 · 0 评论 -
MySQL索引优化最佳实践
,<>,not in ,not exists,is null ,is not null查询,否则会走全表扫描。尽量避免使用in或者or查询,MySQl会进行成本计算决定是否使用索引。使用<,>,<=,>=时MySQL会进行成本计算评估是否使用索引。中做任何操作(计算,函数,类型转换)like查询时遵循最左前缀查询。范围查询优化,大范围拆分小范围。减少select * 语句,原创 2025-03-25 19:29:23 · 222 阅读 · 0 评论 -
MySQL Explain执行结果详解
1 idselect的序号列通常有几个select就有几个id(除非产生衍生表合并优化)id的顺序是按select出现的顺序增长的id列数字越大执行优先级越高id相同则从上往下执行id为NULL最后执行MySQL中的子查询select子查询select与from之前的子查询语句在主from之后执行from子查询from和where之间的子查询在where子查询之后执行from子查询执行后通常会产生临时表,也称派生表。原创 2025-03-25 08:29:08 · 710 阅读 · 0 评论 -
MySQL索引数据结构
平衡树虽然解决了数据单调递增或者递减时导致退化为链表的问题,但是在插入时,需要频繁的旋转来保持二叉树的平衡,对于插入修改的性能影响极大。产生的原因是3节点的右子节点多了一个左子节点,此时将5节点右旋后再将3节点左旋解决。右旋的流程为(当前节点为3节点,右旋就是让自己变成右子节点)每个节点的值比左子树所有节点的值大,比右子树所有节点的值小。每个节点比左子树所有节点的值大,比右子树所有节点的值小。每个节点到叶子节点的每个路径黑色节点的个数都相等。每个节点的左子树的高度与右子树的高度差不超过1。原创 2025-03-08 19:04:41 · 946 阅读 · 0 评论 -
MySQL执行更新SQL流程
当有一条记录需要更新时,InnoDB引擎就会先把记录写在redo log日志中,然后在后面系统比较空闲的时候,将这个操作记录更新到磁盘里面。max_binlog_size:设置单个binlog日志文件的最大大小,当达到该值时,会生成一个新的日志文件。2:每次提交立即将redo日志缓冲区内容写入到文件系统缓存,不立即同步到磁盘,由操作系统决定何时同步到磁盘。expire_logs_day:设置binlog日志文件的保留天数,默认0,表示不删除旧的日志文件。原创 2025-03-04 19:28:31 · 989 阅读 · 0 评论 -
MySQL整体架构
InnoDB有自己的日志系统,redo log(重做日志)和undo log(撤销日志)binlog记录了所有的DML(INSERT,UPDATE,DELETE)语句。MySQL支持多种存储引擎,比如InnoDB,MyISAM,Memory等等。客户端为连接MySQL服务端的工具或者驱动,比如JDCB,ODBC等等。InnoDB是MySQL默认的存储引擎,支持事务,行级锁以及外键约束。Server层有自己的日志系统,binlog日志。生成执行计划:基于以上分析,生成SQL执行计划,2.1 Server层。原创 2025-03-02 11:25:09 · 962 阅读 · 0 评论 -
MySql备份
1 全备 1.1 概念 备份整个数据库的数据1.2 实现方式 mysqldump #备份单个数据库中全部表或者部分表的数据 mysqldump [OPTIONS] database [tables] #备份一个或者多个库的数据 mysqldump [OP...原创 2019-04-03 22:57:03 · 207 阅读 · 0 评论