MySQL
文章平均质量分 91
MySQL的那些道道儿~
22:30Plane-Moon
积极学习Java,开心学习PianoAndGuitar,享受人生,立足当下,不去妄想漂浮的泡泡里的五颜六色。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL的那些道道儿~(基础篇)
子查询(Subquery)是嵌套在另一个查询中的查询,用于为主查询提供条件或数据源。- 需搭配 `IN`, `ANY`, `ALL` 等操作符。- 用于检查子查询是否存在结果,性能优于 `IN`。1. 标量子查询(Scalar Subquery)- 常用于 `FROM` 子句,需指定别名。- 常用于比较操作(=, >, < 等)。1. 独立子查询(Non-correlated)- 使用行比较符(`=`, `IN`)。- **不依赖外层查询**,可单独执行。- **依赖外层查询的值**,逐行执行。原创 2025-05-26 09:56:39 · 1027 阅读 · 0 评论 -
MySQL的那些道道儿~(事务篇)
原子性(Atomicity):事务中所有操作作为一个整体,是不可再分割的原子单位。事务中所有操作要么全部执行成功,要么全部执行失败。一致性(Consistency):事务执行后,数据库状态与其它业务规则保持一致。如转账业务,无论事务执行成功与否,参与转账的两个账号余额之和应该是不变的。隔离性(Isolation):隔离性是指在并发操作中,不同事务之间应该隔离开来,使每个并发中的事务不会相互干扰。持久性。原创 2025-05-26 21:36:39 · 696 阅读 · 0 评论 -
MySQL的那些道道儿~(存储引擎篇)
学习完基础篇,我已经学会了如何操作一个简单的数据库表了。如同所有行业或者工具,我们只有在学会了基本的操作后,对其有了个宏观的认知之后,再去深究才是合理的选择。存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表而不是基于库的,所以存储引擎也可以被称为表引擎。MySQL5.5版本之后的默认引擎就是InnoDB了。原创 2025-05-27 14:54:23 · 635 阅读 · 0 评论 -
MySQL的那些道道儿~(性能分析篇)
看完存储引擎之后,深深的对性能二字产生了兴趣,如同汽车般,会开只是最基本的,开的足够久了就会对他的引擎对他的架构有了兴趣。数据库也一样,那么汽车有仪表盘,MySQL有什么呢?原创 2025-05-27 15:11:56 · 291 阅读 · 0 评论 -
MySQL的那些道道儿~(索引篇)
索引是帮助 MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查询算法,这种数据结构就是索引。提高数据检索效率,降低数据库的IO成本通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗索引列也是要占用空间的索引大大提高了查询效率,但降低了更新的速度,比如 INSERT、UPDATE、DELETE。原创 2025-05-27 15:54:03 · 757 阅读 · 0 评论 -
MySQL的那些道道儿~(SQL优化篇)
在前面的篇章已经得知:增加我的查询速度有建立联合索引,直接查询id等,除此还有哪些优化方法呢?原创 2025-05-28 11:06:29 · 782 阅读 · 0 评论 -
MySQL的那些道道儿(视图/存储过程/触发器篇)
用户定义变量是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接用“@变量名”使用就可以。其作用域为当前连接。SELECT 字段名 INTO @var_name FROM 表名;-- 变量:用户变量-- 赋值-- 使用-- 输出为NULL注意:用户定义的变量无需对其进行声明或者初始化,只不过获取到的值为 NULL。原创 2025-05-28 14:56:25 · 689 阅读 · 0 评论 -
MySQL的那些道道儿~(锁篇)
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,以及更新操作的事务提交语句都将被阻塞。原创 2025-05-28 15:08:02 · 793 阅读 · 0 评论 -
MySQL的那些道道儿~(InnoDB引擎篇)
可以认为当 delete 一条记录时,undo log中会记录一条对应的insert记录,反之亦然,当 update 一条记录时,它记录一条对应相反的 update 记录。Buffer Pool在产生脏页数据的时候,会先将数据存储到 redo log buffer 再存储到 redo log 中进行磁盘持久化存储,在内存出现异常(比如突然断电)时,通过redo log中持久化的数据进行回滚。简单的select(不加锁)就是快照读,快照读,读取的是记录数据的可见版本,有可能是历史数据,不加锁,是非阻塞读。原创 2025-05-28 17:31:46 · 1015 阅读 · 0 评论 -
MySQL的那些道道儿~(运维篇)
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。灾难时的数据恢复;MySQL的主从复制。分库分表指南测试:分别在两台主库Master1、Master2上执行DDL、DML语句,查看涉及到的数据库服务器的数据同步情况。原创 2025-05-28 21:20:23 · 614 阅读 · 0 评论
分享