- 博客(63)
- 收藏
- 关注
原创 MySQL基础--事务原理,MVCC
undo log 是逻辑日志。读取的是记录的最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁,对于我们的日常操作,如:select...lock in share mode(共享锁),select...for update,update,insert,delete(排它锁)都是一种当前读。该日志文件由两部分组成:重做日志缓冲,以及重做日志文件,前者是在内存中,后者是在磁盘中,当事务提交之后,会把所有修改信息都存在该日志文件中,用于在刷新脏页到磁盘,发生错误时,进行数据恢复使用。
2024-08-18 10:45:00
776
原创 MySQL基础--逻辑存储结构,架构
区:表空间的单元结构,每个区的大小为 1M,默认情况下,InnoDB 的存储引擎页大小为 16k,即一个区中有64个连续的页。行:InnoDB 存储引擎数据是按行进行存放的。
2024-08-17 16:00:00
303
原创 MySQL基础--触发器,锁
在数据库中,除传统的计算资源(CPU,RAM,I/O)的争用以外,数据也是一种供许多用户共享的资源。触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的 SQL 语句集合,触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。加锁过程是系统自动控制,无须显示使用,在访问一张表的时候会自动加上,MDL 锁的主要作用是维护表元数据的数据一致性,在表上有活动事务的时候,不可以对元数据进行写入操作。
2024-08-17 11:00:00
850
原创 MySQL基础--视图,存储过程
视图是一种虚拟存在的表,视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的 SQL 逻辑,不保存查询结果,所以我们在创建视图的时候,主要的工作就落在创建这条 SQL 查询语句上。存储过程是事先经过编译存储在数据库的一段 SQL 语句的集合,调用存储过程可以简化开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理效率是有好处的。存储过程思想上很简单,就是 SQL 语言层面的代码封装与重用。
2024-08-15 12:00:00
880
原创 项目部署--最原始的方法
输入 vim /etc/my.cnf 进入到这里,按 a 进入编辑模式,把编码配置粘贴到[mysqld]的下面,光标放到[mysqld]下面,鼠标右键点击一下粘贴,会弹出粘贴预览,粘贴后也要检查有没有少字母或者多空格,添加完编码配置,然后按ESC键退出编辑模式,按键盘的shift键+:键,输入字母wq(一定要小写),保存退出(一定要在英文状态下),回车,回到了命令行界面。,进去先登录,再点击 控制台,找到 轻量应用服务器,进去之后会看见使用的服务器,有一个 公网IP(如下图),很重要,不要告诉别人。
2024-07-21 20:14:20
1005
原创 JDK 内置的基本注解类型
注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包,类,方法,属性,构造器,局部变量等数据信息。和注释一样,注解不影响程序逻辑但注解可以被编译或运行,相当于嵌入在代码中的补充信息。使用注解(Annotation)时,要在其前面加上 @ 符号。
2024-07-21 20:13:01
190
原创 安装 node.js 完整教程
npm与cnpm其实没什么大的区别,npm默认的镜像时国外的,cnpm下载镜像是国内淘宝团队的,下载速度快点,其实直接将npm的下载仓库直接设置为淘宝镜像就可以了。配置cnpm,配置淘宝镜像,默认路径下载比较缓慢,配置淘宝镜像可以加速下载速度,打开命令窗口执行以下命令即可,如果不想配置cnpm,可直接跳过此步骤;4、安装yarn ,使用npm命令,以管理员打开命令窗口输入:npm install yarn -g命令进行安装,安装完成后,npm -v 查看npm的版本(新版的node安装自带安装npm)
2024-07-08 10:30:00
856
原创 MySQL基础--SQL优化
当页中删除的记录达到 MERGE_THRESHOLD(默认为页的50%),InnoDB 会开始寻找最靠近的页(前或后)看看是否可以将两个页合并以优化空间使用。分组操作时,索引的使用也是满足最左前缀法则的。
2024-05-15 18:30:27
426
原创 MySQL数据库基础--性能分析,使用规则
当字段类型为字符串(varchar,text等)时,有时候需要索引很长的字符串,这会让索引变得很大,查询时,浪费大量的磁盘 IO,影响查询 效率,此时可以只将字符串的一部分前缀,建立索引,这样可以大大节约索引空间,从而提高索引效率。入果索引了多列(联合索引),要遵守最左前缀法则,指的是查询从索引的最左列开始,并且不跳过所以中的列。用 or 分割开的条件,如果 or 前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。如果仅仅是尾部模糊匹配,索引不会失效,如果是头部模糊匹配,索引将实效。
2024-05-15 11:15:00
1536
原创 MySQL数据库基础--索引
索引是帮助MySQL高效获取数据的数据结构(有序)优缺点优势劣势提高数据检索的效率,降低数据库的IO成本索引列也是要占用空间的通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗索引大大提高了查询效率,同时也降低了更新表的速度,如对表进行insert ,update,delete 时,效率降低。
2024-04-08 12:55:10
555
原创 Java--包,访问修饰符,多态数组,==和equals,hashcode,toString
包,访问修饰符,多态数组,==和equals,hashcode,toString
2023-12-20 22:28:11
1096
原创 洛谷十月入门赛---C
香港天文台选定了 8个气象站。在台风影响期间,香港天文台会根据这些气象站的风速观测数据决定发布哪一个等级的预警。输入共一行,用空格隔开的 8个正整数,表示这 8个气象站的风速观测数据。现在给定这些气象站的风力数据,请计算出香港天文台应当发布什么警告信号。2.判断八个数据分别属于那个范围,在哪个范围,那个范围就加一。输出一行一个正整数,表示应当发布哪一个等级的警告信号。3.再分别判断在那个范围的个数,输出对应的几号台风。1.使用for循环输入八个数据。
2023-11-13 10:00:00
149
原创 洛谷十月入门赛---A
思路:输入五个数,分别表示老师的人数、学生的人数,以及一名学生一次用餐需要的米饭、蔬菜和肉的量,顺序不能错,老师的米饭是学生的两倍,蔬菜和肉是学生的三倍,最后老师还要乘以2,因为老师一天是两顿饭。输入一行,五个正整数 a,b,R,V,M,分别表示老师的人数、学生的人数,以及一名学生一次用餐需要的米饭、蔬菜和肉的量。输出一行,三个正整数,分别表示洛谷小学的食堂一天要准备多少克米饭,多少克蔬菜,多少克肉。现在请问,洛谷小学的食堂,一天要准备多少克米饭,多少克蔬菜,多少克肉呢?
2023-11-12 21:43:29
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人