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