![](https://img-blog.csdnimg.cn/94ea3477eb8641f19bc3b476a263a109.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 82
探讨MySQL
迷迷的k
热爱生活,热爱运动,热爱编程,热爱自己,一名在读大三小小白(C++/Java)
展开
-
延时任务定时发布,基于 Redis 与 DB 实现
没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件,任务可以立即执行,也可以延迟。订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单;如果期间下单成功,则任务取消。接口对接出现网络问题,1分钟后重试,如果失败,2分钟重试,直到出现阈值终止。有固定周期的,有明确的触发时间。原创 2023-11-23 22:50:28 · 1512 阅读 · 2 评论 -
使用递归SQL实现树形参数的转换(后传前)
递归 SQL(Recursive SQL)是一种 SQL 查询语言的扩展,它允许在查询中使用递归算法。递归 SQL 通常用于处理树形结构或层次结构数据,例如组织结构、产品分类、地理位置等。递归部分定义了如何从一个节点到达下一个节点,而终止部分定义了递归何时结束。递归 SQL 语句通常使用关键字来定义在于它可以处理复杂的层次结构数据,而不需要编写复杂的程序或使用循环语句存在性能、内存、可读性和数据一致性(多线程或分布式情况下)等问题。原创 2023-06-14 18:55:50 · 2294 阅读 · 1 评论 -
数据库篇——锁
在为数据行加共享 / 排他锁之前,InooDB 会先获取该数据行 所在数据表的对应意向锁。原创 2023-05-31 02:26:18 · 1400 阅读 · 1 评论 -
MySQL中 “Explain”、“索引查询优化” 以及 “JOIN 原理”
用小结果集驱动大结果集,以减少 IO 次数#推荐,t1 作为驱动表,t2 作为被驱动表#不推荐,t2 作为驱动表,t1 作为被驱动表为被驱动表匹配的条件增加索引(减少内层表中循环匹配的次数)增大 JOIN BUFFER SIZE 的大小(一次缓存的越多,扫表的次数就越少)减少驱动表不必要的字段查询(字段越少,JOIN BUFFER 所缓存的数据就越多)这里需要知道的是,8.0版本的 MySQL 废弃了 BNJL ,用 Hash Join 进行替代。原创 2023-05-29 10:22:03 · 797 阅读 · 1 评论 -
MySQL 中的系统变量和用户变量
其中,系统变量分为全局系统变量(Global 关键字)和会话系统变量(Session关键字);若不说明具体的关键字,则默认为 Session会话级别。原创 2023-05-27 00:13:01 · 819 阅读 · 2 评论 -
简述数据库中 InnoDB 和 MyISAM 引擎
如果在创建表的语句中没有显式指定表的存储引擎的话,那就会默认使用InnoDB作为表的存储引擎。。InnoDB存储引擎在实际应用中拥有诸多优势,比如操作便利、提高了数据库的性能、维护成本低等。如 果由于硬件或软件的原因导致服务器崩溃,那么在重启服务器之后不需要进行额外的操作。InnoDB崩溃 恢复功能自动将之前提交的内容定型,然后撤销没有提交的进程,重启之后继续从崩溃点开始执行InnoDB存储引擎在主内存中维护缓冲池,高频率使用的数据将在内存中直接被处理。原创 2023-05-27 22:52:53 · 917 阅读 · 2 评论 -
一章带你了解 MySQL 中 SQL 的执行流程
SQL语句→查询缓存→解析器→优化器→执行器。原创 2023-05-27 20:38:39 · 226 阅读 · 2 评论 -
MySQL 中的七种 JOIN
【代码】MySQL 中的七种 JOIN。原创 2023-05-24 00:04:52 · 143 阅读 · 2 评论 -
浅谈 MySQL 主从复制
1、三个线程实际上主从同步的原理就是基于binlog进行数据同步的。在主从复制过程中,会基于来操作,。二进制日志转储线程(Binlog dump thread):是一个主库线程。当从库线程连接的时候, 主库可以将二进制日志发送给从库,当主库读取事件(Event)的时候,会在 Binlog 上加锁,读取完成之后,再将锁释放掉。从库 I/O 线程:会连接到主库,向主库发送请求更新 Binlog。原创 2023-05-21 17:23:03 · 104 阅读 · 1 评论