- 博客(160)
- 收藏
- 关注
原创 黑马点评redis改 part 2
比如说那么这是因为这种数据读写的能力远远的低于预算能力,所以说计算机性能受到了一个限制。所以为了解决这个问题,人们就在CPU的内部添加了一个缓存,什么意思?就是CPU会把经常需要读写的一些数据放到CPU的缓存里面去,当我们去做高速运算的时候,就不必要每次等半天从内存或磁盘里把数据读过来再运算了,而是直接从缓存里拿到数据进行一个运算,那么这样一来是不是可以充分的让CPU的运算能力得到释放 衡量一个CPU它是否强大的一项标准,就是CPU的缓存的大小缓存越大,能缓存的数据自然也越多,那么处理起来的性能是不是也越好
2025-04-12 15:32:42
379
原创 黑马点评redis改 part 1
举个例子,我们的首页,商户的详情页,那么这些都是不需要登录就能看的,那么这样拦截器就不生效,那么它就不会去刷新。将hmdp.sql导入(本人是mysql8.0.27版本),即可看到包括tb_user:用户表,tb_user_info:用户详情表,tb_shop:商户信息表,tb_shop_type:商户类型表,tb_blog:用户日记表(达人探店日记),tb_follow:用户关注表,tb_voucher:优惠券表,tb_voucher_order:优惠券的订单表 的一共11个表。
2025-04-04 19:00:10
856
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part19
数据迁移(data migration)是指选择、准备、提取和转换数据,并将数据从一个计算机存储系统永久地传输到另一个计算机存储系统的过程。此外,验证迁移数据的完整性和退役原来旧的数据存储,也被认为是整个数据迁移过程的一部分。数据库迁移的原因是多样的,包括服务器或存储设备更换、维护或升级,应用程序迁移,网站集成,灾难恢复和数据中心迁移。根据不同的需求可能要采取不同的迁移方案,但总体来讲,MySQL数据迁移方案大致可以分为物理迁移和逻辑迁移两类。
2025-03-31 11:57:17
595
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part18
在实际工作中常常将Redis作为缓存与MySQL配合来使用,当有请求的时候,首先会从缓存中进行查找,如果存在就直接取出。如果不存在再访问数据库,这样就提升了读取的效率,也减少了对后端数据库的访问压力。Redis的缓存架构是高并发架构中非常重要的一环。此外,一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是采用数据库集群的方案,做主从架构、进行读写分离,这样同样可以提升数据库的并发处理能力。但并不是所有的应用都需要对数据库进行主从架构的设置,毕竟设置架构本身是有成本的。
2025-03-31 11:56:29
554
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part17
中继日志只在主从服务器架构的从服务器上存在。从服务器为了与主服务器保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入本地的日志文件中,这个从服务器本地的日志文件就叫中继日志。然后,从服务器读取中继日志,并根据中继日志的内容对从服务器的数据进行更新,完成主从服务器的数据同步。搭建好主从服务器之后,中继日志默认会保存在从服务器的数据目录下。从服务器名-relay-bin.序号。从服务器名-relaybin.index,用来定位当前正在使用的中继日志。
2025-03-31 11:56:05
903
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part16
多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。MVCC 没有正式的标准,在不同的 DBMS 中 MVCC 的实现方式可能是不同的,也不是普遍使用的(大家可以参考相关的 DBMS 文档)。这里讲解InnoDB中 MVCC 的实现机制(MySQL其它的存储引擎并不支持它)。
2025-03-31 11:55:13
902
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part14
事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢?·事务的隔离性由锁机制实现。·而事务的原子性、一致性和持久性由事务的redo日志和undo日志来保证。1.REDOLOG称为重做日志,提供再写入操作,恢复提交事务修改的页操作,用来保证事务的持久性。2.UNDOLOG称为回滚日志,回滚行记录到某个特定版本,用来保证事务的原子性、一致性。有的DBA或许会认为UNDO是REDO的逆过程,其实不然。
2025-03-31 11:24:58
702
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part13
事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失.
2025-03-29 17:09:37
826
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part12
我们需要调优的对象是整个数据库管理,它不仅包括SQL查询,还包括数据库的部署配置、架构等。从这个角度来说,我们思考的维度就不仅仅局限在S化上了。通过如下的步骤我们进行梳理:DBMS的选择关系到了后面的整个设计过程,所以第一步就是要选择适合的DBMS。如果已经确定好了DBMS,那么这步可以跳过。
2025-03-21 16:45:20
1086
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part11
总之,开始设置数据库的时候,我们就需要重视数据表的设计。为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。
2025-03-21 13:35:34
941
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part10
理解方式一:索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。非聚簇复合索引 的一种形式,它包括在查询里的SELECT、JOIN和WHERE子句用到的所有列(即建索引的字段正好是覆盖查询条件中所涉及的字段)。简单说就是,索引列+主键包含SELECT到FROM之间查询的列。比如说上面过程二中增加limit过滤条件,这一句。
2025-03-20 22:44:59
971
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 9
当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。整个流程划分成了观察(Showstatus)和行动(Action)两个部分。字母S的部分代表观察(会使用相应的分析工具),字母A代表的部分是行动(对应分析可以采取的行动)。show profiling 我们可以去查找每一个步骤的时间成本我们可以通过观察了解数据库整体的运行状态,通过性能分析工具可以让我们了解执行慢的SQL都有哪些,查看具体的SQL执行计划,甚至是SQL执行中的每一步的成本代价,这样才能定位问题所在,找到了问题,
2025-03-18 15:34:26
933
原创 图 最 短 路
对于图G=<V,E>,源点为s,d[i] 表示s到i的最短路。(1)初始化所有顶点d[i]=inf,令d[s]=0,计数器c=0;
2025-03-17 23:56:18
1048
原创 数据库系统导论 15-445 2023Fall part1
现在的情况就像是,好的,我得到了所有这些从之前使用的聊天GPT或其他工具返回的向量:我需要将这些信息存储在一个能够原生存储向量的数据库中。它们的功能有限,随着时间的推移基本上将不得不演变成关系型数据库,实际上向量数据模型中的向量就是一维数组,但这些向量通过神奇的转换器,能让你以某种方式嵌入更深层次的意义,揭示出数据实际的样貌。它表示,随着行数的增加,速度将会变得非常、非常缓慢。在我看来,关系模型是构建或使用数据库的主导模型,接下来我们将讨论关系代数,即我们与关系模型数据库交互所使用的机制或操作符。
2025-03-14 16:42:05
903
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 7
页a、页b、页c..页n这些页可以不在物理结构上相连,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。以及每个页都会存储最小记录和最大记录现在假设我们通过B+树找到了在页A中,页A共有1000条数据 , 但是你也知道单链表的查找较慢,时间复杂度O(N) , 于是页目录应运而生 ,
2025-03-12 14:42:36
885
原创 黑马程序员Redis入门到实战教程基础篇
Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样,stringHash ,List,Set,Sortedset(基本类型),GEO,BitMap,HyperLog(特殊类型)KEYS *KEYS a* 不建议在生产环境设备上使用#这是一种基于通配符搜索的,这种通配符查询对于单线程的redis是有巨大负担的DEL name#即可删除name#批量插入OK1) "k3"2) "k2"3) "name"4) "k1"
2025-03-07 12:40:54
903
原创 哈 希 算 法
朴素算法 :1、遍历这n 个数。2、对于遍历到的第i个数×,查询辅助数组 a中存在多少个x-1和x+1;;(有多少个就能够和×组成多少个"差1数对"),所以直接累加到计数器 c 上。3、把当前遍历到的×这个数,放入辅助数组a 的末尾。O(N^2)的时间复杂度hash算法:辅助数组h[1002], h[x] 代表×出现的次数 , 整数计数器c. 我们拿下标来映射数组 1、遍历这 n 个数。
2025-03-06 21:33:24
758
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 6
索引(Index是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法。索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相同,并且每种存储引擎不一定支持所有索引类型。同时,存储引擎可以定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。有些存储引擎支持更多的索引数和更大的索引长度。
2025-03-01 11:45:24
703
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 5
MySQL从3.23.34a开始就包含lnnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。比如说现在有2个DML操作,分别是 小a- 100元和小b +100元除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。
2025-02-27 22:51:36
914
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 4
首先MySQL是典型的C/S架构,即Client/Server架构,服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(SQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?
2025-02-26 23:12:40
960
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 3
MySQL用户可以分为普通用户和root用户。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限;普通用户只拥有被授予的各种权限。MySQL提供了许多语句用来管理用户账号,这些语句可以用来管理包括登录和退出MySQL服务器、创建用户、删除用户、密码管理和权限管理等内容。MySQL数据库的安全性需要通过账户管理来保证。
2025-02-23 15:09:16
680
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 2
MySQL数据库文件的存放路径:/var/lib/mysql/MySQL服务器程序在启动时会到文件系统的某个目录下加载一些文件,之后在运行过程中产生的数据也都会存储到这个目录下的某些文件中,这个目录就称为数据目录。MySQL把数据都存到哪个路径下呢?从结果中可以看出,在我的计算机上MysQL的数据目录就是/var/lib/mysql/。
2025-02-20 14:30:22
849
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 1
首先在vmware中下载centos7,实际上8更好一点,不过centos已经是时代的眼泪了,我之前已经教过了,不过是忘了,所以重新说一遍,看文档即可2.开机前修改mac地址(注意:如果是动态生成IP地址,请在启动前先启动被克隆的虚拟机,以保证原来虚拟机的ip不会变,否则原来虚拟机ip会变,克隆后的虚拟机ip是原来的虚拟机ip点击编辑虚拟机设置选择网络适配器,点击右下角高级然后下边就是mac地址,这个mac地址和被克隆的是一样的,我们点击生成,重新生成一个新的:3.
2025-02-19 23:30:58
1153
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 18
1. 更简便的NoSQL支持 NoSQL泛指非关系型数据库和数据存储。随着互联网平台的规模飞速发展,传统 的关系型数据库已经越来越不能满足需求。从5.6版本开始,MySQL就开始支持简单的NoSQL存储功能。MySQL 8对这一功能做了优化,以更灵活的方式实现NoSQL功能,不再依赖模式(schema)。2. 更好的索引 在查询中,正确地使用索引可以提高查询的效率。MySQL 8中新增了 隐藏索引和 降序索 引。隐藏索引可以用来测试去掉索引对查询性能的影响。
2025-02-18 10:58:03
1044
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 17
MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由事件来触发某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。所谓事件就是指 用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会自动激发触发器执行相应的操作。
2025-02-17 22:43:23
676
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 15
存储过程的英文是 Stored Procedure。它的思想很简单,就是一组经过预先编译的 SQL 语句的封装执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用 存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。好处:1、简化操作,提高了sql语句的重用性,减少了开发程序员的压力2、减少操作过程中的失误,提高效率3、减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发给服务器)
2025-02-16 10:56:02
915
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 14
1. 操作简单将经常使用的查询操作定义为视图,可以使开发人员不需要关心视图对应的数据表的结构、表与表之间的关联关系,也不需要关心数据表之间的业务逻辑和查询条件,而只需要简单地操作视图即可,极大简化了开发人员对数据库的操作。2. 减少数据冗余视图跟实际数据表不一样,它存储的是查询语句。所以,在使用的时候,我们要通过定义视图的查询语句来获取结果集。而视图本身不存储数据,不占用数据存储的资源,减少了数据冗余。3. 数据安全。
2025-02-15 14:08:05
747
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 13
约束是表级的强制规定。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后通过 ALTER TABLE 语句规定 约束。1.3 约束的分类:角度1:约束的字段的个数单列约束 vs 多列约束角度2:约束的作用范围列级约束:将此约束声明在对应字段的后面表级约束:在表中所有字段都声明完,在所有字段的后面声明的约束角度3:约束的作用(或功能)① not null (非空约束)② unique (唯一性约束)③ primary key (主键约束)
2025-02-14 13:30:16
984
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 12
第三章到第10章是DDL,第11章是DML,接下来就是DCL了,TCL之类的吧单值类型:GEOMETRY、POINT、LINESTRING、POLYGON;集合类型:MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、 GEOMETRYCOLLECTION。
2025-02-13 18:16:10
753
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 11
首先得先有一个表: 1.增加数据 # 说明:emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度。# 如果emp1表中要添加数据的字段的长度低于employees表中查询的字段的长度的话,就有添加不成功的风险。可以一次更新多条数据。 如果需要回滚数据,需要保证在DML前,进行设置:SET AUTOCOMMIT = FALSE;什么叫计算列呢?简单来说就是某一列的值是通过别的列计算得来的。例如,a列值为1、b列值为2,c列 不需要手动插入,定
2025-02-12 18:35:25
477
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 10
DDL:数据定义语言。DML:数据操作语言。INSERT \DELETE \UPDATE \SELECT(重中之重)DCL:数据控制语言。前面讲的都是DML ,即数据操作语言,现在讲一讲DDL .存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只 能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢?
2025-02-11 19:04:06
941
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 9
子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较。现在有一个需求:谁的工资比Abel的高?#方式2:自连接#方式3:子查询。
2025-02-10 15:48:15
695
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 8
聚合函数作用于一组数据,并对一组数据返回一个值。1.1 AVG和SUM函数可以对数值型数据使用AVG(就是平均) 和 SUM (就是总和)函数。1.2 MIN和MAX函数 可以对任意数据类型的数据使用 MIN 和 MAX 函数。1.3 COUNT函数 COUNT(*)返回表中记录总数,适用于任意数据类型。COUNT(expr) 返回expr不为空的记录总数。这些得到的数值相同吗?问题:用count(*),count(1),count(列名)谁好呢?其实,对于MyISAM引擎的表是没有区别的。
2025-02-07 19:41:14
775
原创 MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 7
函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来, 需要的时候直接调用即可。这样既 提高了代码效率,又 提高了可维护性。在 SQL 中我们也可以使用函数 对检索出来的数据进行函数操作。使用这些函数,可以极大地 提高用户对数据库的管理效率。从函数定义的角度出发,我们可以将函数分成 内置函数和 自定义函数。在 SQL 语言中,同样也包括了 内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写 的,。
2025-02-06 13:41:27
895
原创 【Unity教程】零基础带你从小白到超神part5 哎呀卧槽看牛客被拷打了不想干了
可以凭借客户端的ip地址来精准识别设备,或者客户端永远从域名找到服务端,服务端提供接口,其中代表了某些参数,比如https://aaa.bbb.com/a.php?dz=beijing&time=today,对于如下的服务器。GET请求(这tm和postman差不多了,GET啊POST啊服务端(储存了大量的数据)a.Php(提供天气)b.Php(提供图片)/tmp/c.Php(提供新闻) 类定义: 继承自 ,这意味着它可以附加到Unity场景中的游戏对象上。Start方法:在
2025-02-05 12:34:06
945
原创 【Unity教程】零基础带你从小白到超神part4
灰色的话,应该是2022版本,需要手动安装,方法:在包管理器,选择unity registry,右侧搜索ai,安装ai navigation,安装后,菜单栏选择Window-AI-Navigation(Obsolete)-Object标签下,有Navigation Static勾选,下面就和up视频中一样了执行“窗口>AI>导航”菜单命令打开“导航”面板,在面板中提供了“代理”“区域”“烘焙”和“对象”4个选项卡。这里切换到“烘焙”选项卡,单击Bake(烘焙)按钮Bake即可进行导航网格的烘焙。 通过圆柱体
2025-01-30 15:49:34
613
原创 【Unity教程】零基础带你从小白到超神part3
线性:设置粒子在3个轴向上的线性速度。空间:设置使用的坐标系为世界坐标系还是本地坐标系。轨道:让粒子围绕3个轴进行旋转。偏移:旋转中心点的偏移设置。射线:粒子远离中心位置的径向速度。速度修改器:修改粒子的速度倍数。
2025-01-30 00:07:00
1007
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人