获得徽章 1
#青训营笔记创作活动#
2月10日 打卡day22
Stored Procedure存储过程是数据库系统中一个十分重要的功能,使用存储过程可以大幅度缩短大SQL的响应时间
但是由于难以移植等特点,只在某些特殊环境下使用
2月10日 打卡day22
Stored Procedure存储过程是数据库系统中一个十分重要的功能,使用存储过程可以大幅度缩短大SQL的响应时间
但是由于难以移植等特点,只在某些特殊环境下使用
展开
评论
点赞
#青训营笔记创作活动#
2月4日 打卡day21
InnoDB引擎,是尤为特殊的存在,几乎将所有的操作都放在了内存中完成,因此慢慢的,InnoDB代替了MyISAM,成为了MySQL默认的存储引擎
在内存的淘汰机制方面,InnoDB基于末尾淘汰机制做了两点改善:
①将Lru链表划分为了young、old两个分区,用来解决预读失效导致的内存占用问题。
②引入了young区的晋升限制,解决了全表扫描时,young区的热点数据页被换出的问题。
2月4日 打卡day21
InnoDB引擎,是尤为特殊的存在,几乎将所有的操作都放在了内存中完成,因此慢慢的,InnoDB代替了MyISAM,成为了MySQL默认的存储引擎
在内存的淘汰机制方面,InnoDB基于末尾淘汰机制做了两点改善:
①将Lru链表划分为了young、old两个分区,用来解决预读失效导致的内存占用问题。
②引入了young区的晋升限制,解决了全表扫描时,young区的热点数据页被换出的问题。
展开
评论
点赞
#青训营笔记创作活动#
2月1日 打卡day20
在共享表数据文件中,有一块区域名为Rollback Segment回滚段,每个回滚段中有1024个Undo-log Segment,每个Undo段可存储一条旧数据,而执行写SQL时,Undo-log就是写入到这些段中。
工作线程执行SQL前,写的Redo-log日志,也是写在了内存中的redo_log_buffer缓冲区。因为写日志会比写数据落盘快,因此日志落盘后返回,比数据落盘后返回要快,对于客户端而言,响应时间会更短
2月1日 打卡day20
在共享表数据文件中,有一块区域名为Rollback Segment回滚段,每个回滚段中有1024个Undo-log Segment,每个Undo段可存储一条旧数据,而执行写SQL时,Undo-log就是写入到这些段中。
工作线程执行SQL前,写的Redo-log日志,也是写在了内存中的redo_log_buffer缓冲区。因为写日志会比写数据落盘快,因此日志落盘后返回,比数据落盘后返回要快,对于客户端而言,响应时间会更短
展开
评论
点赞
#青训营笔记创作活动#
1月31日 打卡day19
当死锁问题出现时,MySQL会自动检测并介入,强制回滚结束一个“死锁的参与者(事务)”,从而打破死锁的僵局,让另一个事务能继续执行。
在业务允许的情况下,尽量缩短一个事务持有锁的时间、减小锁的粒度以及锁的数量。
1月31日 打卡day19
当死锁问题出现时,MySQL会自动检测并介入,强制回滚结束一个“死锁的参与者(事务)”,从而打破死锁的僵局,让另一个事务能继续执行。
在业务允许的情况下,尽量缩短一个事务持有锁的时间、减小锁的粒度以及锁的数量。
展开
评论
点赞
#青训营笔记创作活动#
1月30日 打卡day18
多版本并发控制采用了无锁方式实现了读写的并发访问,仅在innodb中有。此外,MVCC机制只对RC、RR两个隔离级别下的事务生效。
MVCC机制主要通过隐藏字段、Undo-log日志、ReadView这三个东西实现的,
1月30日 打卡day18
多版本并发控制采用了无锁方式实现了读写的并发访问,仅在innodb中有。此外,MVCC机制只对RC、RR两个隔离级别下的事务生效。
MVCC机制主要通过隐藏字段、Undo-log日志、ReadView这三个东西实现的,
展开
评论
点赞
#青训营笔记创作活动#
1月28日 打卡day17
mysql有表锁,行锁,页锁,不同粒度的锁针对不同的应用场景。此外还有意向锁,间隙锁,自增锁等,可以扩展事物的并发实现。
1月28日 打卡day17
mysql有表锁,行锁,页锁,不同粒度的锁针对不同的应用场景。此外还有意向锁,间隙锁,自增锁等,可以扩展事物的并发实现。
评论
点赞
#青训营笔记创作活动#
1月27日 打卡day16
原子性(A)事务中的一组SQL会被看成一个不可分割的整体,当成一个操作看待。
一致性(C)数据只允许从一个一致性状态变化为另一个一致性状态
独立性(I)一个未完成事务不会影响另外一个未完成事务。(MVCC)
持久性(D)性是指一个事务一旦被提交,它会保持永久性,所更改的数据都会被写入到磁盘做持久化处理
1月27日 打卡day16
原子性(A)事务中的一组SQL会被看成一个不可分割的整体,当成一个操作看待。
一致性(C)数据只允许从一个一致性状态变化为另一个一致性状态
独立性(I)一个未完成事务不会影响另外一个未完成事务。(MVCC)
持久性(D)性是指一个事务一旦被提交,它会保持永久性,所更改的数据都会被写入到磁盘做持久化处理
展开
评论
点赞
#青训营笔记创作活动#
1月26日 打卡day15
MySQL一次磁盘IO不仅仅只会读取一条表数据,而是会读取多条数据,在InnoDB引擎中,一次默认会读取16KB数据到内存。
MySQL在设计索引结构时,对于原始的B+Tree又一次做了改造,叶子节点之间除开一根单向的指针之外,又多新增了一根指针,指向前面一个叶子节点,也就是MySQL索引底层的结构,实际是B+Tree的变种,叶子节点之间是互存指针的。
1月26日 打卡day15
MySQL一次磁盘IO不仅仅只会读取一条表数据,而是会读取多条数据,在InnoDB引擎中,一次默认会读取16KB数据到内存。
MySQL在设计索引结构时,对于原始的B+Tree又一次做了改造,叶子节点之间除开一根单向的指针之外,又多新增了一根指针,指向前面一个叶子节点,也就是MySQL索引底层的结构,实际是B+Tree的变种,叶子节点之间是互存指针的。
展开
评论
点赞
#青训营笔记创作活动#
1月25日 打卡day14
数据表的主键,最好选用带顺序性的值。建立联合索引应该深思熟虑,结合业务逻辑,确保索引效果。唯一索引查询会比普通索引快,但插入就慢了,因为要维护唯一性。
回表动作会导致额外的查询开销,因此尽量可以基于主键做查询,或者用联合索引的覆盖索引进行优化。
8.0新增索引跳跃式扫描,联合索引就可以无所谓最左匹配了。(但是限制很多,具体可查阅文档)
1月25日 打卡day14
数据表的主键,最好选用带顺序性的值。建立联合索引应该深思熟虑,结合业务逻辑,确保索引效果。唯一索引查询会比普通索引快,但插入就慢了,因为要维护唯一性。
回表动作会导致额外的查询开销,因此尽量可以基于主键做查询,或者用联合索引的覆盖索引进行优化。
8.0新增索引跳跃式扫描,联合索引就可以无所谓最左匹配了。(但是限制很多,具体可查阅文档)
展开
评论
点赞
#青训营笔记创作活动#
1月24日 打卡day13
MySQL可以通过CREATE、ALTER、DDL三种方式创建一个索引。此外,建立索引的工作在表数据越少时越好,否则创建时间会特别长。
1月24日 打卡day13
MySQL可以通过CREATE、ALTER、DDL三种方式创建一个索引。此外,建立索引的工作在表数据越少时越好,否则创建时间会特别长。
展开
评论
点赞
#青训营笔记创作活动#
1月23日 打卡day12
MySQL连接池维护的是工作线程,客户端连接池则维护的是网络连接。
对于结果返回,当结果集处理好了之后,直接通过Host中记录的地址,将结果集封装成TCP数据报,然后返回即可。如果要断开客户端连接时,又会经过TCP四次挥手的过程。
1月23日 打卡day12
MySQL连接池维护的是工作线程,客户端连接池则维护的是网络连接。
对于结果返回,当结果集处理好了之后,直接通过Host中记录的地址,将结果集封装成TCP数据报,然后返回即可。如果要断开客户端连接时,又会经过TCP四次挥手的过程。
展开
评论
点赞
#青训营笔记创作活动#
1月22日 打卡day11
数据库的层次架构应该都比较熟悉了,分别是网络连接层、系统服务层、存储引擎层、以及文件系统层。相当于复习一下基本概念了,文章介绍的很详实,有所收获。
1月22日 打卡day11
数据库的层次架构应该都比较熟悉了,分别是网络连接层、系统服务层、存储引擎层、以及文件系统层。相当于复习一下基本概念了,文章介绍的很详实,有所收获。
展开
评论
点赞
#青训营笔记创作活动#
1月21日 打卡day10
现在的网站基本都是用带加密的https协议进行数据传输,所以会显示不了抓包的信息,说明加密传输对保护隐私是有用的。
HTTPS的握手过程是
1 建立tcp连接
2.TSL或SSL加密(tsl是四次握手,利用非对称加密的特性得到会话密钥,然后通过对称加密通信)
1月21日 打卡day10
现在的网站基本都是用带加密的https协议进行数据传输,所以会显示不了抓包的信息,说明加密传输对保护隐私是有用的。
HTTPS的握手过程是
1 建立tcp连接
2.TSL或SSL加密(tsl是四次握手,利用非对称加密的特性得到会话密钥,然后通过对称加密通信)
展开
评论
点赞
#青训营笔记创作活动#
1月20日 打卡day9
代码规范不单单是提升面试印象分的重要组成之一,更是以后工作和人高效沟通的手段。
这里总结了一些我个人觉得必备的技巧:
1 规范命名,写好注释
2 if不要太复杂
3 尽量不要重复造轮子
1月20日 打卡day9
代码规范不单单是提升面试印象分的重要组成之一,更是以后工作和人高效沟通的手段。
这里总结了一些我个人觉得必备的技巧:
1 规范命名,写好注释
2 if不要太复杂
3 尽量不要重复造轮子
展开
评论
点赞
#青训营笔记创作活动#
1月19日 打卡day8
众所周知,tcp通信需要建立连接,而udp是无连接的,通信中最耗时的部分也是在建立连接中,所以正常情况下可以认为udp的速度会快于tcp。
但是实际上也存在udp慢于tcp的情况,因为在实际应用中,即使传输层用udp,在应用层也会实现一些重传机制。此时tcp有分段功能udp没有,当数据过大时,重传效率就会有显著差异,此时udp就慢于tcp了。
1月19日 打卡day8
众所周知,tcp通信需要建立连接,而udp是无连接的,通信中最耗时的部分也是在建立连接中,所以正常情况下可以认为udp的速度会快于tcp。
但是实际上也存在udp慢于tcp的情况,因为在实际应用中,即使传输层用udp,在应用层也会实现一些重传机制。此时tcp有分段功能udp没有,当数据过大时,重传效率就会有显著差异,此时udp就慢于tcp了。
展开
评论
点赞