
学习笔记
kiiii1001
流水不争先,争的是滔滔不绝
展开
-
JAVA的网络
关于JAVA的网络,之前有个比喻形式的总结,分享给大家:例子:有一个养鸡的农场,里面养着来自各个农户(Thread)的鸡(Socket),每家农户都在农场中建立了自己的鸡舍(SocketChannel)1、BIO:Block IO,每个农户盯着自己的鸡舍,一旦有鸡下蛋,就去做捡蛋处理;2、NIO:No-Block IO-单Selector,农户们花钱请了一个饲养员(Selector),并告诉...转载 2019-11-15 11:12:22 · 314 阅读 · 1 评论 -
mysql实战45讲学习笔记--19
19 为什么我只查一行的语句,也很慢建表语句,并且插入数据mysql> CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB;delimiter ;;create procedure idata()begindeclare i int;set...原创 2019-07-30 21:05:41 · 204 阅读 · 0 评论 -
mysql实战45讲学习笔记--14
14 count(*)这么慢,我该怎么办 Count()的实现方式 不同数据引擎,count()有不同实现方式 MyISAM引擎吧一个表的总行...原创 2019-07-25 19:47:26 · 141 阅读 · 0 评论 -
Lambda杂记
流表面看起来和集合类似 1.流并不存储其元素,这些元素可能存储在底层的集合中,或者按需生成 2.流的操作不会修改其数据源 &...原创 2019-08-04 00:02:19 · 149 阅读 · 0 评论 -
mysql实战45讲学习笔记--10
10.mysql为什么有时候会选错索引 选择索引是优化器的工作 优化器选择索引的目的找到最优解,最小代价执行语句。 &nb...原创 2019-07-22 19:59:55 · 113 阅读 · 0 评论 -
mysql实战45讲学习笔记--11
11 怎么给字符串字段加索引 前缀索引的优势,选取字段前几个作为索引,占用的空间更小 使用前缀索引,定义好长度,就可以做到既节省空间,又不用额外增加太多的查询成本。 &n...原创 2019-07-22 20:02:48 · 108 阅读 · 0 评论 -
Effective java中对于Lambda的建议
1.Lambda优先于匿名类 Lambda类似于匿名类的函数,但是更加简洁。 使用Lambda的时候,尽量删除所有Lambda参数的类型,除非它们存在能够让程序变得更加清晰但是如果一个计算不是自描述的,或者超过了几行,那就不要把...原创 2019-08-04 20:54:04 · 287 阅读 · 0 评论 -
Lambda方法总结
toList 把流中所有元素收集到List中示例:Menu.getMenus.stream().collect(Collectors.toList())toSet ...原创 2019-08-04 21:50:58 · 341 阅读 · 0 评论 -
mysql实战45讲学习笔记--15
15 日志和索引相关问题 1.在两阶段提交的不同瞬间,mysql如果发生异常重启,是怎样保证数据完整性的。 如果在图中A的地方,也就是写入redo log处于prepare阶段之后,写binlog之前,发生了崩溃(crash)...原创 2019-07-27 09:23:16 · 151 阅读 · 0 评论 -
,mysql实战45讲学习笔记--16
16 “Order by”是怎么工作的 全字段排序 MySQL会给每个线程分配一块内存用于排序,称为sort_buffer。 通常情况下,语...原创 2019-07-27 22:01:01 · 122 阅读 · 0 评论 -
mysql实战45将学习笔记--18
18 为什么这些sql语句逻辑相同,性能却差距巨大 案例一:条件字段函数操作 维护一个交易系统,建表语句如下mysql> CREATE TABLE tradelog (id int(11) NOT NULL,trade...原创 2019-07-29 22:10:30 · 128 阅读 · 0 评论 -
mysql实战45讲学习笔记--13
13 为什么表数据删掉一半,表文件大小不变? 数据库表的空间回收 InnoDB表包含两部分,即:表结构定义和数据,在mysql8.0以前,表结构是存在以.frm为后缀的文件里,而8.0版本,则已经允许把表结构定义放在系统数...原创 2019-07-24 21:02:21 · 200 阅读 · 0 评论 -
mysql实战45将学习笔记--17
17 如何正确地显示随机消息内存临时表 对于InnoDB表来说,执行全字段排序会减少磁盘访问,因此会被优先选择 在10000行记录中随机取出3个单词  ...原创 2019-07-28 23:56:20 · 201 阅读 · 0 评论 -
mysql实战45讲学习笔记--02
2.日志系统:一条sql更新语句是如何执行的一条查询语句执行过程是经过连接器,分析器,优化器,执行器等功能模块最后到达存储引擎查询语句的流程,更新语句也是会同样走一遍。更新流程还涉及两个重要的日志系统,redo log(重做日志)和binlog(归档日志)。重要的日志模块:redo logMysql里常说的WAL技术(Write-Ahead Logging),关键点在先写日志,再写磁盘...原创 2019-07-09 21:05:05 · 120 阅读 · 0 评论 -
mysql实战45讲学习笔记--05
05 深入浅出索引回表就是回到主键索引树搜索的过程。 覆盖索引由于覆盖索引可以减少树的搜索次数,显著提升查询性能,所以使用覆盖索引是一个常用的性能优化手段。最左前缀原则B+树这种索引结构,可以利用索引的“最左前缀”来定位记录.(模糊查询那种)在建立联合索引的时候,安排索引内的字段顺序,第一原则是,如果通过调整顺序,可以少维护一个索引,那么这个索引往往就是需要优先考虑的,然后考虑的...原创 2019-07-13 21:36:15 · 256 阅读 · 0 评论 -
mysql实战45讲学习笔记--06
06 全局锁和表锁:给表加个字段怎么那么多阻碍根据加锁的范围,mysql里面的锁大致可以分为全局锁,表级锁和行锁三类。全局锁: 全局锁就是对整个数据库实例加锁。需要整个库处于只读状态 全局锁的典型使用场...原创 2019-07-14 12:11:20 · 149 阅读 · 0 评论 -
mysql实战45讲学习笔记--03
03 事务隔离:为什么你改了我还看得见Mysql中,事务支持是在引擎层实现的。隔离性和隔离级别数据库有多个事务同时执行的时候,就可能出现脏读(dirty read),不可重复读(nonrepeatable read),幻读(phantom read)的问题。隔离越严实,效率越低Sql标准的事务隔离级别包括:读未提交(read uncommitted),读提交(read committed...原创 2019-07-10 21:27:16 · 142 阅读 · 0 评论 -
mysql实战45讲笔记--07
07 行锁功过:怎么减少行锁对性能的影响 Mysql的行锁是在引擎层由各个引擎自己实现的,不是所有数据库都支持行锁比如MyISAM 行锁就是针对数据表中行记录的锁。 &nb...原创 2019-07-15 21:49:48 · 102 阅读 · 0 评论 -
mysql学习实战45讲学习笔记--04
04 深入浅出索引(上)索引的出现就是为了提高数据查询的效率,就像书的目录一样。实现索引的方式有很多种,比较常见的数据结构就是哈希表,有序数组,和搜索树。哈希表这种结构适用于只有等值查询的场景有序数组在等值查询和范围查询场景中的性能非常优秀 ,有序数组索引只适用于静态存储引擎。N叉树在读写上的性能优点,以及适配磁盘的访问方式,已经被广泛应用在数据库引擎中。这是数据库处理核心数据的核心概...原创 2019-07-11 22:06:07 · 93 阅读 · 0 评论 -
mysql实战45讲学习笔记--09
09普通索引和唯一索引应该怎么选择 查询过程一般平均性能,对于选择索引可以忽略不计。更新过程 Change buffer,更新一个数据时,如果数据页在内存中就直接更新,如果没在内存中,不影响数据一致性,...原创 2019-07-18 22:14:28 · 135 阅读 · 0 评论 -
mysql实战45讲笔记--08
08 事务到底是隔离的还是不隔离的(理论,多读) Mysql里,有两个“视图”的概念 1.一个是view,他是一个用查询语句定义的虚拟表,在调用的时候执行查询语句并生成结果,创建视图的语法是create v...原创 2019-07-16 21:14:27 · 127 阅读 · 0 评论 -
mysql实战45讲学习笔记--12
为什么我的mysql“抖”了一下 一条SQL语句,正常执行的时候特别快,但有时会突然变得特别慢,并且随机,持续时间短。 将对应的内存数据写入到磁盘的过程,叫做flush。 &nbs...原创 2019-07-23 21:18:49 · 174 阅读 · 0 评论 -
mysql实战45讲学习笔记--1
1.一条sql语句执行Mysql主要分为server层和存储引擎层两部分Server层包括连接器,查询缓存,分析器,优化器,执行器等,涵盖mysql的大多核心服务功能,以及所有的内置函数,所有跨存储引擎的功能也在这里实现,比如,存储过程,触发器,视图等数据引擎层负责数据的存储和提取,支持多个数据引擎,最常用的数据引擎是InnoDB,是mysql的默认存储引擎不同的存储引擎共用一个serv...原创 2019-07-08 21:20:07 · 285 阅读 · 0 评论