获得徽章 2
- #青训营笔记创作活动#
2月16日 打卡day11
今日学习
-Redis是一个开源的、键值对型的数据存储系统。
-优点:Redis完全基于内存操作,性能极高,读写速度快,能够支持超过100KB/s的读写速率;支持高并发;支持主从模式;具有丰富的数据类型与特性;支持持久化操作,不会丢失操作。
-缺点:数据库容量受到物理内存的限制,不能实现海量数据的高性能读写。展开评论1 - #青训营笔记创作活动#
12月15日 打卡day10
今日学习
-建立数据库索引会带来优势也会带来劣势,劣势有如:建立索引会生成本地磁盘文件,需要额外的空间存储索引数据;写入数据时,需要额外维护索引结构;写入数据时维护索引需要额外的时间开销,执行写SQL时效率会降低,性能会下降。
-哈希索引致命问题在于无序,也就是无法基于哈希索引的字段做排序、分组等工作。如果确定表中,不会做排序这类工作,那就可以使用哈希索引。展开评论1 - #青训营笔记创作活动#
2月14日 day9
今日学习
-MySQL索引在数据的一种,都会放到磁盘上存储,因此与表数据相同,最终创建出的索引也会在磁盘上生成本地文件。
-MySQL索引支持B+Tree、Hash、R-Tree、T-Tree等类型,索引结构有存储引擎决定,而MySQL引擎层属于可拔插式引擎。
-MySQL索引从逻辑上可以分为五种类型:普通索引、唯一索引、主键索引、全文索引、空间索引。(空间索引基于四种空间数据类型字段建立)
-MySQL索引从存储方式上分为聚簇索引、非聚簇索引。聚簇索引逻辑上连续且物理空间上连续;非聚簇索引逻辑上连续物理空间上不连续。展开评论1 - #青训营笔记创作活动#
1月31日 打卡day1
今日学习常用限流方式:计数器、滑动窗口、漏桶算法、令牌桶算法以及Redis+Lua分布式限流方式。评论1 - #青训营笔记创作活动#
2月1日 打卡day2
今日学习常用的20款IDEA插件,可以覆盖大部分应用场景,提供了一站式的开发体验。评论1 - #青训营笔记创作活动#
2月8日 打卡day3
今日学习MySQL整体架构,从上往下依次分为网络连接层、系统服务层、存储引擎层、文件系统层。评论1 - #青训营笔记创作活动#
2月9日 打卡day4
今日学习
-MySQL每张表不超过2000万条知识一个大概数据,并不适用所有场景。
-在InnoDB的B+树中,常说的节点被称为页,每个页当中存储了用户数据,所有的页合在一起组成了一颗B+树。
-每页的大小为16KB,里面存储需要的页格式信息和行格式信息,而行格式信息当中又包含了元数据和用户数据。
-当新记录插入到InnoDB聚集索引中时,InnoDB会尝试留出1/16的页面空闲以供插入和更新索引记录。如果按顺序插入索引记录,则生成的页大约可用 15/16 的空间。如果以随机顺序插入记录,则页大约可用 1/2 到 15/16 的空间。展开评论1 - #青训营笔记创作活动#
2月10日 打卡day5
今日学习
分布式微服务架构是主流趋势,架构转型的进阶之道就是DDD(领域驱动设计),其核心思想是避免业务逻辑的复杂性和技术实现的复杂性耦合在一起,通过明确两者之间的边界,隔离双方的复杂性,站在更高的角度实现解耦。
微服务通过单一职责、团队独立、技术独立、数据库分离、独立部署实现DDD。展开评论1 - #青训营笔记创作活动#
2月11日 打卡day6
今日学习
-最左匹配原则:顾名思义,最左优先,以最左边的为起点任何连续的索引都能匹配上。同时遇到范围查询(>、<、between、like)就会停止匹配。因为构建一棵B+树只能根据一个值来确定索引关系,所以数据库依赖联合索引最左的字段来构建。
-减少select *使用可以降低回表带来的损耗。
-In、like%等查询范围过大的语句可能会造成失效。
-ICP索引下推是在MySQL5.6之后的特性,和联合索引一起使用能够解决数据查询回表的问题,增加查询效率。展开评论1 - #青训营笔记创作活动#
2月13日 day8
今日学习
-慢SQL优化思路:通过慢查询日志定位慢SQL,explain查看分析SQL的执行计划,profile分析执行耗时,Optimizer Trace解析优化全过程;
-慢查询经典案例:隐式转换、最左匹配、深分页问题(采用标签记录法和延迟关联法优化)、in元素过多(in条件超过200个数据就会导致代价计算存在问题)、order by走文件排序(order by结果行数据超过max_length_for_sort_data这个值,就走rowid排序,反之,走全字段排序)、索引失效、左右连接关联字段编码格式不同、group by使用临时表、delete + in子查询不走索引。展开评论1