10 2019 档案

摘要:result: Foo(id=1, parentId=0, children=[Foo(id=2, parentId=1, children=[Foo(id=5, parentId=2, children=[])]), Foo(id=3, parentId=1, children=[Foo(id=6 阅读全文
posted @ 2019-10-21 11:13 梦飞翔up 阅读(704) 评论(0) 推荐(0)
摘要:为什么: mysql执行一条query语句,按步骤来就是建立连接-》词法分析-》语法分析-》优化器-》执行器-》innodb引擎。这里的问题出在优化器这里,优化器的其中一个作用就是执行计划的生成以及索引的选择。我们知道优化器选择索引有几个指标:扫描的行数,是否使用临时表,是否排序。我遇到的情况因为没 阅读全文
posted @ 2019-10-18 10:25 梦飞翔up 阅读(340) 评论(0) 推荐(0)
摘要:一,mysql因为WAL机制,在更新时,首先会更新内存,再写redo log。一般情况下是在空闲时,将redo log刷新到磁盘中。 二,什么是脏页。当内存中与磁盘中的数据不一致时,内存中的数据页就称为脏页。(也可以理解为redo log还没更新到磁盘中) 三,什么时候会触发数据库flush(刷脏页 阅读全文
posted @ 2019-10-15 09:45 梦飞翔up 阅读(260) 评论(0) 推荐(0)
摘要:登录流程: 一:登录成功后: 1,根据userId生成token,放入redis中 key为token,value为用户信息进行存储。 2,response token到前端的cookie中 3,threadlocal中存储user 信息 二:拦截器: 1,通过request获取前端的cookie, 阅读全文
posted @ 2019-10-14 15:02 梦飞翔up 阅读(2732) 评论(0) 推荐(0)
摘要:1,不同的引擎有不同的实现方式。myisam直接存在磁盘上,可以直接读取。innodb需要一行行读,再进行累计。 2,innodb因为mvcc(多版本并发控制)的原因,同一时刻不同回话查询的数据可能不一致, 3,show table status可以显示表行数,但是不准确。 4,所以如何计数呢:一是 阅读全文
posted @ 2019-10-14 15:01 梦飞翔up 阅读(173) 评论(0) 推荐(0)
摘要:一,直接创建完整索引,但是会占用大量空间 select * from t where a = "xxx"; 这条sql,如果创建完整索引的话,他的流程是:先去a索引树查询,获取到一条记录的主键id;到主键上根据该主键id查询行,判断a是否正确,加入结果集;取a索引树下一个位置数据,发现不满足循环结束 阅读全文
posted @ 2019-10-14 14:59 梦飞翔up 阅读(1368) 评论(0) 推荐(0)