
MySQL
文章平均质量分 93
个人对于 MySQL 知识内容上的理解总结
RainbowSea15
一个人的资金一定是与他(她)的能力相匹配的,无一例外。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
15. MySQL 多版本并发控制
MySQL多版本并发控制(MVCC)是一种通过管理数据行的多个版本来实现并发控制的技术。它主要包含三个核心组件:隐藏字段(trx_id和roll_pointer)、Undo Log版本链和ReadView。MVCC通过快照读(不加锁的SELECT)和当前读(加锁操作)两种方式处理读写冲突,提高了数据库并发性能。在不同隔离级别下,MVCC的工作机制有所不同:在READ COMMITTED级别下每次查询都会生成新的ReadView,可能导致不可重复读;而在REPEATABLE READ级别下会复用同一个Read原创 2025-07-05 10:09:09 · 721 阅读 · 0 评论 -
14. MySQL 锁的详细说明
MySQL锁机制概述 MySQL锁机制是协调多线程并发访问数据资源的关键技术,主要用于保证数据的一致性和完整性。文章从三个维度详细分析了MySQL锁: 操作类型:分为读锁(共享锁)和写锁(排他锁),分别对应并发读取和独占写入场景。 并发事务处理:分析了读-读、写-写、读-写三种并发场景的解决方案,重点介绍了MVCC(多版本并发控制)和传统加锁两种处理方式。 粒度级别:包括表锁、页锁和行锁,详细说明了不同粒度锁的应用场景和特点。 文章还特别强调了InnoDB引擎在REPEATABLE READ隔离级别下已解决原创 2025-07-04 08:54:42 · 1110 阅读 · 0 评论 -
12 MySQL 数据库其它调优策略
这篇文章从多个维度系统介绍了MySQL数据库的调优策略,主要包括六个关键步骤:选择适合的DBMS、优化表设计、优化逻辑查询、优化物理查询、使用缓存技术以及库级优化。同时详细阐述了服务器硬件优化和MySQL参数配置的具体方法,如调整内存缓冲区大小、优化磁盘I/O性能、合理设置查询缓存等。文章强调数据库调优需要综合考虑系统资源、响应速度和瓶颈消除,通过分层优化提升整体性能。专业管理员可根据实际业务需求,结合硬件配置和参数调整,实现MySQL数据库的最佳性能表现。原创 2025-07-04 08:38:13 · 1041 阅读 · 0 评论 -
11-3 MySQL 中对于 PowerDesigner 的使用
本文介绍了如何在MySQL开发中使用PowerDesigner进行数据库建模。主要内容包括:1. PowerDesigner简介及概念数据模型(CDM)的创建方法,包括实体(Entity)设置、属性定义和关系(Relationship)建立;2. 物理数据模型(PDM)的创建步骤,重点演示了表(Table)的字段设置、主外键配置以及自增属性的实现;3. 通过学生-班级-教师的案例,详细说明了一对多、多对多关系的建模过程。文章图文并茂地展示了从概念模型到物理模型的完整设计流程,为数据库设计人员提供了实用指导。原创 2025-07-03 09:39:27 · 993 阅读 · 0 评论 -
11-2 MySQL 数据库对象编写建议(参考)
《MySQL数据库对象编写建议》总结了一系列规范化的数据库设计准则,涵盖库、表、列、索引和SQL编写等方面。主要建议包括:库表名应小写且见名知意,使用utf8/utf8mb4字符集;表必须有主键id和创建/更新时间字段;字段建议NOT NULL并设默认值;索引命名需规范且避免冗余;SQL编写需指定具体字段,限制JOIN表和事务长度。这些规范旨在提升数据库性能、可维护性和数据一致性,适用于企业级MySQL开发场景。原创 2025-07-03 09:19:54 · 1006 阅读 · 0 评论 -
11-1 MySQL 数据库的设计规范
MySQL数据库设计规范摘要: 数据库设计遵循范式化原则,从第一范式(1NF)到第五范式(5NF),常见应用至第三范式(3NF)。1NF要求字段具有原子性不可拆分;2NF要求非主键字段完全依赖主键;3NF要求消除非主键字段间的传递依赖。遵循范式可减少数据冗余,但有时为提高查询性能需适当反规范化。设计时需注意主键、外键的选择,确保数据完整性。示例通过球员表、订单表等案例说明范式应用,建议将复杂表拆分为多个符合范式的小表。原创 2025-07-02 14:43:21 · 814 阅读 · 0 评论 -
10-2 MySQL 索引优化与查询优化
MySQL索引优化与查询优化摘要 本文介绍了MySQL索引优化与查询优化的关键要点: filesort算法:对比双路排序(两次磁盘扫描)和单路排序(一次读取所有列),单路排序效率更高但可能因内存不足导致多次I/O。优化建议包括提高sort_buffer_size和max_length_for_sort_data参数,并避免SELECT *。 GROUP BY优化:遵循索引最佳左前缀法则,增大排序相关参数,优先使用WHERE而非HAVING,减少不必要的排序操作。 分页查询优化:通过索引排序后关联原表,或利用原创 2025-07-02 14:10:26 · 944 阅读 · 0 评论 -
10-1 MySQL 索引优化与查询优化
本文主要介绍了MySQL索引优化与查询优化的相关内容。首先通过数据准备,创建了50万条学员数据和1万条班级数据,并建立了相关存储过程。重点讲解了索引失效的两个典型案例:1)全值匹配最优,即查询条件完全匹配索引字段时性能最佳;2)最佳左前缀法则,强调复合索引必须从最左列开始使用,否则无法利用索引。文章通过具体SQL示例演示了这两种情况下的索引使用效果,并提供了创建相关索引的操作方法。这些优化技巧对于提升MySQL查询性能具有重要指导意义。原创 2025-07-01 11:23:03 · 1161 阅读 · 0 评论 -
9-2 MySQL 分析查询语句:EXPLAIN(详细说明)
本文详细介绍了MySQL中EXPLAIN语句的使用方法,主要包含以下内容: EXPLAIN语句概述:可用于分析SELECT、UPDATE、DELETE等语句的执行计划,不同MySQL版本功能有所差异 基本语法:在查询语句前添加EXPLAIN即可查看执行计划 数据准备:演示了创建测试表、存储过程并插入大量测试数据的过程 EXPLAIN输出列解析:重点说明了table列(表名)和id列(查询编号)的作用,通过单表查询和连接查询示例展示了执行计划分析 该文转载自尚硅谷MySQL教程,旨在分享技术知识,推荐读者前往原创 2025-07-01 11:08:25 · 922 阅读 · 0 评论 -
6-2 MySQL 数据结构选择的合理性
MySQL数据结构选择的合理性主要基于磁盘IO效率的优化。文章分析了多种索引结构的优缺点: 哈希索引虽然查询效率高(O(1)),但不支持范围查询和排序,仅Memory引擎支持 二叉搜索树和AVL树存在高度过高导致磁盘IO次数多的问题 B-Tree作为多路平衡查找树,通过增加分支数降低树高度,显著减少IO次数 B-Tree特性包括:根节点2-M个子节点、中间节点k-1个关键字和k个指针、所有叶子节点同层 最终选择B-Tree结构的原因是它能有效平衡查询效率与IO消耗,通过"矮胖"的树形结构原创 2025-06-03 10:49:14 · 788 阅读 · 0 评论 -
7. MySQL 当中的 InnoDB 数据存储结构(详解)
在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。原创 2025-04-09 14:28:56 · 865 阅读 · 0 评论 -
6. MySQL 索引的数据结构(详细说明)
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法。索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相同,并且每种存储引擎不一定支持所有索引类型。同时,存储引擎可以定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。原创 2025-03-09 09:27:22 · 1315 阅读 · 0 评论 -
5. MySQL 存储引擎(详解说明)
MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。InnoDB是MySQL的 默认事务型引擎 ,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。数据文件结构:(在《第02章_MySQL数据目录》章节已讲)原创 2025-03-07 09:04:14 · 1241 阅读 · 0 评论 -
13. MySQL 事务基础知识(详细说明实操剖析)
命令来查看当前 MySQL 支持的存储引擎都有哪些,以及这些存储引擎是否支持事务。原子性是指事务是一个不可分割的工作单位,要么全部提交,要么全部失败回滚。(国内很多网站上对一致性的阐述有误,具体你可以参考 Wikipedia 对 Consistency 的阐述)。根据定义,一致性是指事务执行前后,数据从一个 变换到另外一个 。这种状态 是 的而不是语法上的,跟具体的业务有关。那什么是合法的数据状态呢?满足 的状态就叫做合法的状态。通俗一点,这状态是由你自己 来定义的(比如满足现实世界中的约束)。原创 2025-02-25 08:43:47 · 839 阅读 · 0 评论 -
9-1. MySQL 性能分析工具的使用——last_query_cost,慢查询日志
在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。原创 2025-02-23 09:44:24 · 1175 阅读 · 0 评论 -
8-2 MySQL 索引的设计原则(超详细说明讲解)
冗余索引举例:建表语句如下我们知道,通过索引就可以对name列进行快速搜索,再创建一 个专门针对name列的索引就算是一个冗余索引,维护这个索引只会增加维护的成本,并不会对搜索有 什么好处.。另一种情况,我们可能会对某个列重复建立索引col2 INT,我们看到,col1 既是主键、又给它定义为一个唯一索引,还给它定义了一个普通索引,可是主键本身就 会生成聚簇索引,所以定义的唯一索引和普通索引是重复的,这种情况要避免。“在这个最后的篇章中,我要表达我对每一位读者的感激之情。原创 2025-02-23 09:34:13 · 940 阅读 · 0 评论 -
8. MySQL 索引的创建与涉及原则(详解说明)
在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。原创 2025-02-22 09:11:07 · 1102 阅读 · 0 评论 -
4. MySQL 逻辑架构说明
在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。原创 2025-02-22 09:01:51 · 1537 阅读 · 0 评论 -
3. MySQL 用户与权限管理,角色管理(详细说明操作配置)
在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。原创 2025-02-21 12:23:02 · 1441 阅读 · 0 评论 -
2. MySQL的数据目录(详解讲解)
在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。原创 2025-02-21 12:03:16 · 1466 阅读 · 0 评论 -
1. Linux下 MySQL 的详细安装与使用
在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。原创 2025-02-20 09:23:07 · 1485 阅读 · 0 评论 -
SQL语句中 DDL 、DML 、DQL 、DCL 分别是什么
DDL 数据定义语言:主要操作数据库中数据表的创建,定义,删除DML 数据操作语言:主要操作数据表中的数据的增,删,改DQL 数据查询语言:主要用于对数据的查询操作DCL 数据控制语言:主要用于设置/更改数据库用户权限。本文章参考:🔜🔜🔜聊聊SQL语句中 DDL 、DML 、DQL 、DCL 分别是什么_苜苜的烂笔头的博客-CSDN博客_sql的ddl语句包括哪几个致敬大神。!!最后:有缘人,请留下你经过的足迹。转载 2022-11-16 11:09:30 · 411 阅读 · 0 评论 -
MySQL 游标的详解
MySQL有关游标的详解原创 2022-09-29 15:39:54 · 1314 阅读 · 1 评论 -
MySQL 流程控制 的详细讲解
MySQL流程控制的详细讲解原创 2022-09-29 15:35:38 · 1079 阅读 · 0 评论 -
MySQL 定义条件与处理程序 的详细讲解
定义条件是事先 定义程序执行过程中可能遇到的问题,处理程序定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。其实就是和Java中的异常处理一样的,当在存储过程或存储函数中出现了,捕获异常,处理异常说明:定义条件和处理程序在存储过程和存储函数中都是使用的。定义条件就是根据 MySQL中给的错误码,自己对错误码进行一个重新命名。因为MySQL给我们的错误码一般都是数值或数值字符串。原创 2022-09-29 14:31:46 · 1505 阅读 · 2 评论 -
MySQL 变量的详细讲解
MySQL 有关变量的详细讲解原创 2022-09-29 14:25:30 · 4153 阅读 · 0 评论 -
MySQL 详解 存储过程 和 存储函数
MySQL详解讲解 存储过程和存储函数原创 2022-09-21 19:46:07 · 709 阅读 · 1 评论 -
MySQL视图详解
操作简单可以将经常使用的查询操作定义为视图,可以使开发人员不需要关心视图对应的数据表的结构,表与表之间的关联关系,也不需要关心数据表之间的业务逻辑和查询条件,而只需要简单地操作视图即可,极大简化了,开发人员对数据库的操作。减少数据冗余视图跟实际数据表不一样,它存储的是查询语句。所以,在使用的时候,我们要通过定义视图的查询语句来获取结果集。而视图本身不存储数据,不占用数据存储的资源,减少了数据的冗余。数据安全MySQL将用户对数据的访问限制 在某些数据的结果集上,而这些数据的结果集可以使用视图来实现。原创 2022-09-20 21:42:15 · 489 阅读 · 0 评论 -
Mysql 讲解所有的约束类型
如果两个表之间有关系 (一对一,一对多),比如:员工表和部门表(一对多),它们之间是否一定要键外键约束???答,不是建和不建外键约束有什么区别?答:建外键约束,你的操作(创建表,删除表,添加,修改,删除)会受到限制,从语法层面受到限制,例如:在员工表中不可能添加一个员工信息,它的部门的值在部门表中找不到。不建外键约束,你的操作(创建表,删除表,添加,修改,删除) 不受限制,要保证数据的引用完整性,只能依靠程序员的自觉,或者是Java程序中进行限定。原创 2022-09-17 20:09:58 · 457 阅读 · 0 评论 -
Mysql 详解所有的数据类型
一般用于枚举数据,比如系统设定取值范围很小且固定的场景。可以用于较小范围的统计数据,比如统计工厂的固定资产库存数量等。用于较大整数的计算,比如车站每日的客流量等。取值范围足够大,一般情况下不用考虑超限问题,用得最多。比如商品编号。只有当你处理特别巨大的整数时才会用到。比如双十一的交易量、大型门户网站点击量、证 券公司衍生产品持仓等。在决定用那种整数类型的时候,你需要考虑存储空间和可靠性用占用字节空间少的整数类型可以节省存储空间,原创 2022-09-17 18:55:15 · 790 阅读 · 0 评论 -
MySQL: 对表数据的增删改的相关练习题
MySQL: 对表数据的增删改的相关练习题原创 2022-08-26 08:44:04 · 1079 阅读 · 0 评论 -
Mysql : 对于表数据处理增删改的内容上的打字练习
第二种方式: 手动声明字段,按照声明的字段顺序插入数据 格式: INSERT INTO 表名 (列名1, 列名2, 列名3) VALUES (数据内容1, 数据内容2, 数据内容3);注意没有手动声明字段,一定要按照默认的字段顺序添加表的数据内容,如果省略了,表中列的任何一个数据内容都是会报错的。SET 更新的字段1 = 更新的内容1 , 更新的字段2 = 更新的内容2。VALUES (数据内容1, 数据内容2, 数据内容3),VALUES (数据内容1, 数据内容2, 数据内容3)...原创 2022-08-26 08:39:18 · 445 阅读 · 0 评论 -
Mysql: 表中数据的增删改
关于对表中数据的全部更新,以及表中数据的清空,需要慎重考虑,防止不必要的严重数据丢失。而承担公司损失的后果。!!原创 2022-08-26 08:33:33 · 414 阅读 · 0 评论 -
Mysql创建管理表的内容上的打字练习
同样的,在使用 ALTER TABLE 进行表的基本修改操作时,在执行操作过程之前,也应该确保对数据进行完整的备份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段,可以将其删除;所以,请慎重,再慎重。当查询中的表不在所在的数据库中时,需要定位到对应的数据库中去 如 数据库 .表名,当在查询上使用了字段的别名,其创建的表中的字段会以别名为 准创建表字段。● 修改现有的表中的列:格式: MODIFY 修改表中的数据类型:ALTER TABLE 修改的表名 MODIFY 修改的字段 修改的数据类型;原创 2022-08-23 16:20:21 · 239 阅读 · 0 评论 -
Mysql 创建管理数据库内容上的打字练习
—> 点击你刚刚将练习内容的复制到的那个模式里,——> 选择右上角的。,从中你可以看到,你刚刚自行编辑的打字练习内容中。,选择你所需要的,就可以开始你的打字练习之旅了。大家可以根据自己的需求来,进行相对应的选择。保存好后,点击退出该窗口,重新再次,点击。会显示如下窗口,我们。原创 2022-08-23 15:58:50 · 324 阅读 · 0 评论 -
Mysql: 管理数据库和表的相关练习
对于Mysql 数据库和表的相关练习原创 2022-08-23 15:42:35 · 389 阅读 · 0 评论 -
Mysql: COMMIT 和 ROLLBACK
COMMIT: 表示提交数据。一旦执行COMMIT,则数据就被永久的保存在了数据库中,意味着数据不可以回滚。ROLLBACK:回滚数据。一旦执行ROLLBACK,则可以实现数据的回滚,回滚到最近的一次COMMIT之后。!!原创 2022-08-23 15:28:34 · 3229 阅读 · 0 评论 -
Mysql: 创建表 和 管理表
对于上述中的对表的修改,删除表操作将把表的定义和表中的数据一起删除,并且Mysql在执行删除操作时,不会有任何的确定信息提示,因此执行删除操作应当慎重。在删除表前,最好对表中的数据进行备份,这样当操作失误时可以对数据进行恢复,以免造成无法挽回的后果。同样的,在使用进行表的基本修改操作时,在执行操作过程之前,也应该确保对数据进行完整的备份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段,可以将其删除;相同的,如果删除了一个需要的列,该列下面的所有数据都将会丢失。所以,请慎重,再慎重。!!原创 2022-08-23 15:22:51 · 891 阅读 · 0 评论 -
Mysql :创建数据库和管理数据库
上述管理数据库的一些操作,建数据库,修改数据库,删除数据库,这些操作你都是要有,对应的操作权限才可以进行的,对于一些危险的操作,无法撤销的操作 如 删除数据库,请慎重考虑,好再执行该操作,不然,你可以就需要跑路了,说实话,你跑得了吗,所以,对于,这些操作,请加以慎重考虑后,再执行,最好是多人考虑的结果,多方考虑,再执行。原创 2022-08-22 21:26:31 · 1728 阅读 · 0 评论 -
Mysql —— 子查询的 ”必备“ 练习
有关的子查询 ”必备“练习在Mysql数据库运用中查询是用的比较多的一项,其中较为复杂的便是 我们的 —— 子查询 了,所以设定了,如下的一些练习,用于更加熟练的掌握这门技术活关于这部分子查询的详细内容,大家可以移步到 🔜🔜🔜 Mysql 知行必会 “子查询”_ChinaRainbowSea的博客-CSDN博客本次的练习题共为 20 道题目,需要用到的表的内容如下:具体练习如下:思路1: 使用子查询,找到Zlotkey 对应的部门编号,再通过该部门编号找到员工姓名和工资思路二: 使用自表连接原创 2022-08-20 11:12:54 · 1909 阅读 · 0 评论