- 博客(27)
- 收藏
- 关注
原创 Mysql 插入或者更新 踩坑
使用INSERT INTO ON DUPLICATE KEY UPDATE语句可以有效提升数据库操作效率,减少数据库操作次数,简化操作逻辑,避免数据冲突。在实际开发中,我们可以根据具体的业务需求,合理运用这个语句,提高数据库操作的效率和准确性。
2024-05-29 10:37:58 506
原创 2024年5月软考架构题目回忆分享
1.需求分析和架构设计面临这两个不同对象,一个是问题空间,一个是解空间。1.数据库的分布式锁 和 redis的分布式锁,是否还有其他分布式锁。3.质量效用树分析,刺激源 刺激 制品 响应 响应度量。2.mongoDB的矢量分析,优缺点,数据冷热分析分离。夜来幽梦忽还乡 , 大数据, Lambda。十年架构两茫茫 ,Redis , UML。这是英文题,总共五个题目,只记得这么多。1.大数据 Lambda架构。
2024-05-25 22:38:46 523
原创 软考架构风格总结一张图
数据流-批处理数据流-管道-过滤器。调用/返回-主程序/子程序。调用/返回-面向对象。调用/返回-层次结构。独立构件-进程通信独立构件-事件驱动(隐式调用)虚拟机-解释器虚拟机-规则系统。仓库-数据库仓库-超文本仓库-黑板闭环-过程控制C2 风格
2024-05-24 17:30:39 775
原创 数据库-第一范式、第二范式、第三范式、BC范式、第四范式简析
例如,在选课关系表(学号,课程号,成绩,学分),关键字为组合关键字(学号,课程号),但由于非主属性学分仅依赖于课程号,对关键字(学号,课程号)只是部分依赖,而不是完全依赖,因此此种方式会导致数据冗余以及更新异常等问题,解决办法是将其分为两个关系模式:学生表(学号,课程号,分数)和课程表(课程号,学分),新关系通过学生表中的外关键字课程号联系,在需要时进行连接。所以,(仓库号,存储物品号)和(管理员号,存储物品号)都是仓库管理关系表的候选码,表中唯一非关键字段为数量,它是符合第三范式的。
2024-05-23 08:56:53 1096
原创 软考-高级架构师冲刺精华 二 数据库
基本概念:三级模式-两级映像、数据库设计数据库模型:E-R模型、关系模型、关系代数(结合SQL语言)规范化:函数依赖、键与约束、范式、模式分解事务并发:并发三种问题、三级封锁协议数据库新技术:数据库安全与备份、反规范化、分布式数据库、缓存数据库、数据库集群,
2024-05-18 23:00:37 679
原创 软考-软件工程
软件工程的内软件开发生命周期::包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义可行性研究、需求分析等。:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。:就是把软件产品移交给用户使用。容
2024-05-14 09:57:07 242
原创 MySQL 字段设置默认值踩坑
这个代码实例化 一个 product ,但是 minBuy 属性是 null,更新语句不会添加更新字段,mysql 会自动更新 minBuy =1 , 假如原来是 5的话,这不是我们想要的结果,所以修改如下。最近在做商城项目,由于有些商品是有起购数量的,在给表添加字段的时候设置了默认值。在java 项目中的话,实体类 属性 minBuy 用 Integer。先通过id 查询出原来的 minBuy,把它设置回去。
2024-05-13 14:32:07 244 2
原创 客服留言池设计和思考
最近公司商城需要做一个客服的留言池,简单的来说就是,当商城系统没有客服在线的时候,将顾客发送的消息存放到留言池,通过定时任务将留言池里面的消息分配给在线的客服,然后删除留言池里面的消息。
2024-05-10 17:09:08 212
原创 MongoDB 时间查询踩坑
解决方法:在mongodb可视化工具Robomongo中,我们可以通过"Options" - “Display Dates in…” - "Local Timezone"来设置显示本地时间。这个方法里面会自动给传入的时间设置 timeZone , 然后直接使用如下代码进行查询即可。2.我的项目中我使用的 hutool 工具 DateUtil 进行转换。1.在做查询的时候先设置 UTC 时区。
2024-05-10 10:43:38 217
原创 Mysql内核查询成本计算
对于MySQL5.6之前的版本来说,只能通过EXPLAIN语句查看到最后优化器决定使用的执行 计划,却无法知道它为什么做这个决策。我们可能有这样的疑问: “我就觉得使用其他 的执行方案比EXPLAIN输出的这种方案强,凭什么优化器做的决定和我想的不一样呢?为 什么MySQL一定要全文扫描,不用索引呢? ”在MySQL 5.6以及之后的版本中,MySQL提出了一个optimizer trace的功能,这个功能可 以让我们方便的查看优化器生成执行计划的整个过程
2024-05-10 08:51:50 961
原创 MySQL Profile 成本分析 当查询语句准确使用索引,还是慢怎么办
MySQL Profile 成本分析 当查询语句准确使用索引,还是慢怎么办
2024-05-09 09:34:28 431
原创 MySQL B+树数据结构总结
总而言之,B+树是一种高效的数据结构,对于数据库系统中的索引实现非常有效。它的特点是将数据记录存储在叶子节点中,并通过指针连接形成有序链表,支持范围查询和顺序访问,插入和删除操作的时间复杂度为O(logn)。B+树是一种常用的数据结构,常用于数据库系统中用于实现索引。如果有人问MySQL的索引优化,直接想到B+树,然后慢慢思考回答。
2024-05-07 17:54:41 432 2
原创 ClickHouse 学习
最近在做商城项目,通过收集用户的各种行为,主要用商品行为和用户行为,存储到ClickHouse进行分析,然后推荐或者推送商品信息给用户,所有学习一下ClickHouse.
2024-05-05 11:49:57 244
原创 MySQL 优化SQL Explain 关键字分析
使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中。
2024-04-30 16:51:58 1153
原创 客服在线系统分流思考
加权轮询(Weighted Round Robin, WRR)是一种负载均衡算法,它在传统轮询算法基础上引入了权重的概念,以适应不同后端服务器处理能力不均的情况。在分布式系统、网络服务、数据库集群等场景中广泛应用,旨在更公平、高效地分配请求或任务到各个节点上。
2024-04-28 11:45:39 587
原创 软考高级架构师
从需求分析到软件设计之间的过渡过程称为软件架构。软件架构设计就是需求分配,寻找满足需求的组件。软件架构为软件系统提供了一个结构 行为和属性的高级抽象,由构件的描述,构件的相互作用(连接件),指导构件的集成模式和这些模式的约束组成软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构件之间的对应关系,提供了一些设计决策的基本原理。解决好软件的复用,质量和维护问题,是研究软件架构的根本目的。软件架构设计包括 提出架构模型 产生架构设计和进行设计评审等活动,是一个迭代的过程。
2024-04-28 10:13:47 480
原创 Address already in use: bind【解决办法】
Address already in use: bind【解决办法】-CSDN博客
2024-04-26 09:02:38 250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人