获得徽章 8
赞了这篇沸点
如何优雅的提桶跑路?
21
#青训营笔记创作活动#
2月7日 打卡day34
今日学习 聚簇索引和非聚簇索引的根本区别:
聚簇索引中,表数据和索引数据是按照相同顺序存储的,非聚簇索引则不是。
聚簇索引在一张表中是唯一的,只能有一个,非聚簇索引则可以存在多个。
聚簇索引在逻辑+物理上都是连续的,非聚簇索引则仅是逻辑上的连续。
聚簇索引中找到了索引键就找到了行数据,但非聚簇索引还需要做一次回表查询
展开
评论
#青训营笔记创作活动#
2月6日 打卡day33
今日学习 Mysql 的表数据是以页的形式存放的,页在磁盘中不一定是连续的。
页的空间是 16K, 并不是所有的空间都是用来存放数据的,会有一些固定的信息,如,页头,页尾,页码,校验码等等。
在 B+ 树中,叶子节点和非叶子节点的数据结构是一样的,区别在于,叶子节点存放的是实际的行数据,而非叶子节点存放的是主键和页号。
索引结构不会影响单表最大行数,2kw 也只是推荐值,超过了这个值可能会导致 B + 树层级更高,影响查询性能。
展开
评论
#青训营笔记创作活动#
2月5日 打卡day32
今日学习 对于MySQL中大部分常用的命令基本上都已经罗列出来啦!以后如若忘记某个函数名称、某条语句的语法等等,都可以直接在本章中快捷搜索,但本篇仅仅只写出了基本的语法,实际数据库开发中往往还需要结合业务,来编写更为复杂的SQL语句~。
展开
评论
#青训营笔记创作活动#
2月4日 打卡day31
今日学习 将Redis实现分布式锁中的一些问题,逐步进行了讲述。
从使用简单的 Redis 中的 SET KEY NX命令实现分布式锁
到使用SET KEY NX EX TIME 命令解决死锁问题
到增加身份标识(UUID) 解决锁被其他人释放问题
再到使用 Lua 脚本,将解锁操作变成原子性操作
最后讲述了Redisson实现分布式锁,解决了锁自动续期问题
展开
评论
#青训营笔记创作活动#
2月3日 打卡day30
今日学习 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍
展开
评论
#青训营笔记创作活动#
2月2日 打卡day29
理解好process的xml组件,在流程设计UI层面用GoJS方案,自定义好业务上的GoJS的data与Process的xml组件的关系。这样前端通过GoJS数据转process组件形成流程图,也可以反向流程图XML转成GoJS呈现。里面的XML都是byte文件流操作和写db记录。里面的流程启动,审核,各种api整合输出给前端,组织结构用企业微信api接入到角色上并用上他们的界面管理。那么轻OA的工作流程平台化快速成型方案就有雏形
展开
评论
#青训营笔记创作活动#
2月1日 打卡day28
今日学习 一般向外暴露的接口,都需要加上一个访问限制,以防止有人恶意刷流量或者爆破,访问限制的做法有很多种,从控制粒度上来看可以分为:全局访问限制和接口访问限制
评论
#青训营笔记创作活动#
1月31日 打卡day27
今日学习 分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。
分库分表是由分库和分表这两个独立概念组成的,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。
展开
评论
#青训营笔记创作活动#
1月30日 打卡day26
今日学习 什么样的数据适合放入缓存:读多写少,使用缓存后会产生的问题:
缓存与数据库双写不一致、缓存雪崩、缓存穿透、缓存并发竞争等功能以及如何通过SpringBoot-Star实现RedisTemplate组件,建立对应连接对象,进行操作数据库。
展开
评论
#青训营笔记创作活动#
1月29日 打卡day25
今日学习 本篇文章的内容中,我们对缓存的各个方面进行了一个简单地阐述与了解,也可以看出缓存对于一个软件系统的重要价值。通过对缓存的合理、充分利用,可以大大地增强我们的系统承压性能、提升产品的用户体验。
缓存作为高并发系统中的神兵利器被广泛使用,堪称高并发系统的基石之一
展开
评论
#青训营笔记创作活动#
1月28日 打卡day24
今日学习 主要是像这种瞬时高并发的场景,传统的系统很难应对,我们需要设计一套全新的系统。可以从以下几个方面入手:页面静态化、CDN加速、缓存、mq异步处理、限流和分布式锁。
评论
#青训营笔记创作活动#
1月27日 打卡day23
今日学习 HTTPS相当于HTTP+TLS,目前主流的是TLS1.2,基于TCP三次握手之后,再来TLS四次握手。TLS四次握手的过程中涉及到两对私钥和公钥。分别是服务器本身的私钥和公钥,以及CA的私钥和公钥。
展开
评论
#青训营笔记创作活动#
1月26日 打卡day22
今日学习 redis的特性,了解到了它完全基于内存操作,性能极高,读写速度快,Redis 能够支持超过 100KB/s 的读写速率;支持高并发,支持10万级别的并发读写;支持主从模式,支持读写分离与分布式;具有丰富的数据类型与丰富的特性(发布订阅模式);支持持久化操作,不会丢失数据。
展开
评论
#青训营笔记创作活动#
1月25日 打卡day21
今日学习 关于索引的基础知识。之所以建立索引的原因和索引的优势和好处、以及三种方法建立索引的方案和语法操作,可以通过SHOW INDEX FROM tableName 命令查询一个表中拥有的索引。以及指的删除对应的索引操作以及强制执行索引的方案。了解到了R-Tree类型和T-Tree类型对应的数据引擎。
展开
评论
#青训营笔记创作活动#
1月24日 打卡day20
今日学习 MySQL 的索引。对于主键而言,最好选用带顺序性的值,否则有可能掉入主键索引的“陷阱”中。想要使用联合索引,那么查询条件中必须包含索引的第一个字段。前缀索引虽然带来了节省空间的好处,但MySQL也无法通过前级索引来完成ORDER BY、GROUP BY等分组排序工作,也无法完成覆盖扫描等操作。
展开
评论
#青训营笔记创作活动#
1月23日 打卡day19 今日学习 Bytebase确实是一款实用的数据库管理及变更工具,让我们在没有客户端的情况下也能方便地进行数据库管理,它的SQL审核功能可以避免开发人员对数据库的误操作。
评论
#青训营笔记创作活动#
1月22日 打卡day18
今日学习 慢SQL优化思路。
慢查询日志记录慢SQL
explain分析SQL的执行计划
profile 分析执行耗时
Optimizer Trace分析详情
确定问题并采用相应的措施
展开
评论
#青训营笔记创作活动#
1月21日 打卡day17
今日学习 当尝试从连接池中获取连接时,如果此时连接池中有空闲连接,可以直接拿到复用,但如果没有,则要先判断一下当前池中的连接数是否已达到最大连接数,如果连接数已经满了,当前线程则需要等待其他线程释放连接对象,没满则可以直接再创建一个新的数据库连接使用。
展开
评论
下一页