微辣已是极限
码龄2年
关注
提问 私信
  • 博客:34,518
    34,518
    总访问量
  • 99
    原创
  • 44,153
    排名
  • 652
    粉丝
  • 0
    铁粉

个人简介:数据库dba

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2022-08-09
博客简介:

mmmmm168m的博客

查看详细资料
  • 原力等级
    当前等级
    4
    当前总分
    731
    当月
    2
个人成就
  • 获得397次点赞
  • 内容获得18次评论
  • 获得213次收藏
  • 代码片获得604次分享
创作历程
  • 2篇
    2024年
  • 97篇
    2023年
成就勋章
兴趣领域 设置
  • 大数据
    dba数据库开发
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

17.MySQL锁

间隔锁的出现主要集中在同一个事务中先 delete后 inserte的情况下,当去删除条记录的时候,如果这个记录存在,那么这个时产生普通行锁,锁住这个记录,然后删除再释放锁。Gap锁(间隙锁),锁住的不是记录,而是范围,一般是针对非唯一索引而言的,确保索引记录的间隙不变,间隙锁是针对事务隔离级别为可重复读或以上级别而已的。事务打算给数据行加行排他锁,事务在给个数据行加排他锁前必须先取得该表的Ⅸ锁,加到表上的。记录锁锁定的是索引记录,而不是行数据,也就是说锁定的是key,该锁是加在索引上的。
原创
发布博客 2024.10.09 ·
470 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

出来冒个泡,哈哈!!!

由于工作和毕业论文,认证考试等一系列的事情,最近这段时间可能不会更新博文,但不会很长,有兴趣学习数据库的朋友可以耐心等等哈
原创
发布博客 2024.01.31 ·
542 阅读 ·
11 点赞 ·
0 评论 ·
6 收藏

MySQL_16.数据库事务相关概念

(3)隔离性Isolation: 事务的隔离性是指多个用户并发访问数据库时,一个用户的事务不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离。在一个事务中,对于同一份数据的读取结果总是相同的,无论是否有其他事务对这份数据进行操作,以及这个事务是否提交。解决了更新丢失、脏读、不可重复读。(2)不可重复读:事务A多次读取同一数据,事务B在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果不—致。最低的隔离级别,什么都不需要做,一个事务可以读到另一个事务未提交的结果;
原创
发布博客 2023.12.23 ·
985 阅读 ·
32 点赞 ·
0 评论 ·
8 收藏

MySQL_15.UNDO和REDO的区别

它的流程:当update一个数据块时,在开始时需要从内存中找到这个数据块,在undo中放入数据块放之前的值old data在undosegment中,那么就可以利用redo来重放事务,通常用于实例恢复和介质恢复、日志挖掘和流(分析redo,捕获实时数据,传到远程数据库,并应用于远程数据库)。undo是oracle在undo段中记录的信息,用于取消或回滚事务,例如对数据进行修改时,数据库会产生undo信息,redo是放在redo日志文件中;Redo中保存的内容是改变向量,改变数据块的大小,是对数据块的覆盖。
原创
发布博客 2023.12.20 ·
766 阅读 ·
6 点赞 ·
0 评论 ·
12 收藏

MySQL_14.数据库高速缓冲区空间管理

如果返段时间中,即使 I 没有再被访问过,I 的访问次数也仍然是 5,返样 I 将再次回到热。端头,返样就造成了死循环,I 永迖无法被踢出列表。因此,当 I 被放到热端头的时候,访问次数。数据块按照使用时间的早晚排成队列,当缓冲区占满后,调入新的数据块时,必须清除已有的数据。块,来获得空闲数据块空间,那么,最合理的选择就是清除最早没有使用数据块,因为使用该块的。I 块被放入热端头,经过漫长的时间,I 块最终会被放到况端头迕行。如果返段时间 I 被访问多次,则有机会回到热端头,否则,可能被踢出列表。
原创
发布博客 2023.12.19 ·
935 阅读 ·
21 点赞 ·
0 评论 ·
9 收藏

MySQL_13.InonDB表空间

问:临时表空间主要用于临时排序、分组作用,而临时表空间路径不允许修改,只能放在$datadir目录内,如果SQL语句有大量的排序分组操作,然而磁盘IO又跟不上,对数据库造成阻塞,我们改怎么优化数据库?删除ibdata、ib_log*、undo*、mysql目录下面的*.ibd文件、以及mysql中innodb表的.frm文件。场景:原来是共享表空间,转换成独立表空间以后,数据和索引迁移出ibdata,原来的ibdata占用500G空间不会自动缩小。mysql 5.7之后 : 临时表放在临时表空间。
原创
发布博客 2023.12.17 ·
1059 阅读 ·
14 点赞 ·
0 评论 ·
8 收藏

MySQL_12.Innodb存储引擎参数

提交事务的时候,把该事务的redo 日志写入磁盘文件对应的 os cache 缓存里去,而不是直接进入磁盘文件,可能 1 秒后才会把 os cache 里的数据写入到磁盘文件里去。提交事务的时候,不立即将redo log buffer 里的数据刷入磁盘文件的,而是依靠 InnoDB 的主线程每秒执行一次刷新到磁盘,速度快,不安全,出现故障会丢失一秒的事务。(4)innodb_flush_log_at_trx_commit 控制事物的提交方式,控制日志刷新到硬盘的方式(重要)1启动Innodb存储引擎。
原创
发布博客 2023.12.16 ·
726 阅读 ·
13 点赞 ·
0 评论 ·
9 收藏

MySQL_11.InnoDB Buffer Pool原理与配置

mysql 5.6 之后:每次停机会dump出buffer pool的数据(space,page number),然后启动时候load进buffer pool预热。mysql 5.6 之前每次启动buffer pool 中页是空的,每次都需要大量的时间加载新的页到内存中,启动后有一段时间性能差。内存小于1G默认1个,这个选项只有当设置 innodb_buffer_pool_size 值大于1G时才生效。5.InnoDB 数据字典,数据库的元数据(数据库名,表名,数据类型,结构,访问权限)
原创
发布博客 2023.12.14 ·
975 阅读 ·
13 点赞 ·
0 评论 ·
6 收藏

MySQL_10.MySQL体系架构

(5)Redo日志:数据库都是日志先行,先写日志,再写数据文件,保证恢复与完整性,这个对 innodb存储引擎非常重要,因为它们记录了对于innodb存储引擎的事务日志。mysql实例的进程文件,当mysql实例启动的时候,会将自己的进程id写入文件中,该文件即为pid文件,由参数 pid_file控制,默认路径位于数据库目录下。记录存储引擎信息的文件,innodb存储引擎在存储设计上模仿了oracle,该文件就是默认的表空间文件,可以用多个文件组成一个表空间,例如:ibdata*文件。
原创
发布博客 2023.12.13 ·
2125 阅读 ·
60 点赞 ·
0 评论 ·
19 收藏

MySQL_9.B-数索引

1.定义:B-树是一类树,包括B-树、B+树、B*树等,是一棵自平衡的搜索树,它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点.(2)B+树叶节点两两相连可大大增加区间访问性,可使用在范围查询等,而B-树每个节点 key 和 data 在一起,则无法区间查找。(2)B+树叶节点两两相连可大大增加区间访问性,可使用在范围查询等,而B-树每个节点 key 和 data 在一起,则无法区间查找。(4)在数据结构上:B树为有序数组+平衡多叉树,而B+树为有序数组链表+平衡多叉树。
原创
发布博客 2023.12.12 ·
642 阅读 ·
16 点赞 ·
0 评论 ·
7 收藏

MySQL_8.一级索引,二级索引概述

而除了聚簇索引以外的所有索引都称为二级索引,二级索引的叶子节点内容是主键的值。在MySQL的查询过程中,SQL优化器会选择合适的索引进行检索,在使用二级索引的过程中,因为二级索引没有存储全部的数据,(2)减少行移动或者数据页分裂时二级索引的维护工作,当数据需要更新的时候,二级索引不需要修改,只需要修改一级索引,一个表只能有一个一级索引,其他的都是二级索引,这样只需要修改一级索引就可以了,不需要重新构建二级索引。在MySQL中主键索引的叶子节点存的是整行数据,而二级索引叶子节点内容是主键的值。
原创
发布博客 2023.12.11 ·
1942 阅读 ·
19 点赞 ·
0 评论 ·
12 收藏

MySQL_7.索引概述

而B-树查询时间复杂度不固定,与 key 在树中的位置有关, 最好为O(1)。(1)B树索引 (主要,默认索引):mysql innodb默认的索引类型就是 Btree索引(B树,B-树,B+树,B*树),Binary Tree,就是一个二叉树。(2)B+树叶节点两两相连可大大增加区间访问性,可使用在范围查询等,而B-树每个节点 key 和 data 在一起,则无法区间查找。(1)B+树叶节点两两相连可大大增加区间访问性,可使用在范围查询等,而B-树每个节点 key 和 data 在一起,则无法区间查找。
原创
发布博客 2023.12.10 ·
627 阅读 ·
13 点赞 ·
0 评论 ·
5 收藏

MySQL_6.MySQL常用创建语句

外键必须是主表的主键或者唯一键,如果是另外一张表主键的话,该表主键不允许带有auto_increment 自增长属性。(2)使用like 关键字通过旧表创建新表 ( 包括旧表的 结构 + 信息 + 索引 )外键总结:mysql数据库不建议使用外键、会极大影响数据库运行性能(并发访问)。(3)使用as 关键字通过旧表创建新表 ( 包括旧表的 结构 + 信息 )(9)在test数据库创建包含外键的员工表(YG)和工资表(gz)3.创建表,修改表,删除表等操作。(4)查看表、表结构、表创建语句。
原创
发布博客 2023.12.09 ·
784 阅读 ·
12 点赞 ·
0 评论 ·
13 收藏

MySQL_5.DML语句基本语法

-案例3:统计(yzjtest_yg 员工表)不同地区(REGION)、不同部门(DEPT)共发了多少工资(SALARY)selct 子查询是将一个查询语句嵌套在另一个查询语句中,在特定情况下,一个查询语句的条件需要另一个查询语句来获取,其语句包括动词 insert、update、delete。内层查询(inner query)语句的查询结果,可以为外层查询(outer query)语句提供查询条件。子查询可以返回单一值(标量子查询)、一个行(标量子查询)、一个列(标量子查询)、一个表(标量子查询)。
原创
发布博客 2023.12.08 ·
1163 阅读 ·
18 点赞 ·
0 评论 ·
21 收藏

MySQL_4.mysql数据库的安装(超详细——保姆级)

10.windows11/10 部署MySQL数据库大概就是这样,个人感觉已经非常详细了,如果有不足的地方欢迎大家来指出,不过生产环境基本上用的Linux系统部署,这个环境仅限于练习,大家打好基础后期会有Linux环境下MySQL各种集群部署案例,不要着急哈,下篇文章见,拜拜咯!3307(根据自己需要可只初始化3306,这里我只初始化了3306,所以下面命令没执行,如果需要初始化3307则执行下面命令)6. 创建3306 实例的MySQL服务,服务启动 mysql_3306 服务。
原创
发布博客 2023.12.08 ·
1163 阅读 ·
30 点赞 ·
0 评论 ·
11 收藏

MySQL_3.常用数据类型

【代码】MySQL_3.常用数据类型。
原创
发布博客 2023.12.07 ·
436 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

MySQL_2.常用维护命令

(8)查看 mysql 数据库当前线程。(10) 查看数据库下的表和索引。(6)查看数据库主库、从库状态。(11)mysql进程管理命令。(3)查看数据库存储引擎状态。(4)查看数据库使用的插件。(7)查看触发器和存储过程。(9)查看某个用户的权限。(5)查看数据库的状态。(1)查看数据库版本。
原创
发布博客 2023.12.06 ·
582 阅读 ·
13 点赞 ·
0 评论 ·
8 收藏

MySQL_1. mysql数据库介绍

(2) 源码编译安装(开发/测试推荐)使用make和makefile工具可以简单快速地解决各个源文件之间复杂的依赖关系,同时,make工具还可以自动完成所有源码文件的编译工作,并且可以只对上次编译后修改过的文件进行增量编译;(2)企业版的收费,并且价格不便宜,标准版2000美元,企业版5000美元,高级集群版10000美元(6万人民币),但是只包含稳定的功能。(1)社区版的免费,出问题mysql公司概不负责,是企业版的测试版,功能却没有企业版功能完善。(4)mysql不同版本平台支持更新。
原创
发布博客 2023.12.05 ·
547 阅读 ·
8 点赞 ·
0 评论 ·
6 收藏

shell_81.Linux在命令行中创建使用函数

shell会将定义好的函数传给子 shell 进程,这些函数能够自动用于该 shell 会话中的任何 shell 脚本。该函数会在下次启动新的 bash shell 时生效。随后你就能在系统中的任意地方使用这个函数了。在.bashrc 文件中定义函数。
原创
发布博客 2023.12.04 ·
663 阅读 ·
15 点赞 ·
0 评论 ·
8 收藏

shell_80.Linux函数的递归

也就是说,x 的阶乘等于 x 乘以 x-1 的阶乘。创建了这样的函数后,你甚至想把它用在其他的脚本中。递归算法的经典例子是计算阶乘。一个数的阶乘是该数之前的所有数乘以该数的值。局部函数变量的一个特性是自成体系(self-containment)。除了获取函数参数,自成体系的函数不需要使用任何外部资源。
原创
发布博客 2023.12.04 ·
586 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏
加载更多