会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
梦飞翔up
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2019年10月18日
mysql-为什么会选择错误的索引(10)
摘要: 为什么: mysql执行一条query语句,按步骤来就是建立连接-》词法分析-》语法分析-》优化器-》执行器-》innodb引擎。这里的问题出在优化器这里,优化器的其中一个作用就是执行计划的生成以及索引的选择。我们知道优化器选择索引有几个指标:扫描的行数,是否使用临时表,是否排序。我遇到的情况因为没
阅读全文
posted @ 2019-10-18 10:25 梦飞翔up
阅读(335)
评论(0)
推荐(0)
2019年10月15日
mysql-刷脏页(12)
摘要: 一,mysql因为WAL机制,在更新时,首先会更新内存,再写redo log。一般情况下是在空闲时,将redo log刷新到磁盘中。 二,什么是脏页。当内存中与磁盘中的数据不一致时,内存中的数据页就称为脏页。(也可以理解为redo log还没更新到磁盘中) 三,什么时候会触发数据库flush(刷脏页
阅读全文
posted @ 2019-10-15 09:45 梦飞翔up
阅读(254)
评论(0)
推荐(0)
2019年10月14日
使用token机制做登录鉴权(threadlocal+redis)
摘要: 登录流程: 一:登录成功后: 1,根据userId生成token,放入redis中 key为token,value为用户信息进行存储。 2,response token到前端的cookie中 3,threadlocal中存储user 信息 二:拦截器: 1,通过request获取前端的cookie,
阅读全文
posted @ 2019-10-14 15:02 梦飞翔up
阅读(2681)
评论(0)
推荐(0)
mysql-count(14)
摘要: 1,不同的引擎有不同的实现方式。myisam直接存在磁盘上,可以直接读取。innodb需要一行行读,再进行累计。 2,innodb因为mvcc(多版本并发控制)的原因,同一时刻不同回话查询的数据可能不一致, 3,show table status可以显示表行数,但是不准确。 4,所以如何计数呢:一是
阅读全文
posted @ 2019-10-14 15:01 梦飞翔up
阅读(169)
评论(0)
推荐(0)
mysql-字符串如何创建索引(11)
摘要: 一,直接创建完整索引,但是会占用大量空间 select * from t where a = "xxx"; 这条sql,如果创建完整索引的话,他的流程是:先去a索引树查询,获取到一条记录的主键id;到主键上根据该主键id查询行,判断a是否正确,加入结果集;取a索引树下一个位置数据,发现不满足循环结束
阅读全文
posted @ 2019-10-14 14:59 梦飞翔up
阅读(1362)
评论(0)
推荐(0)
2019年9月26日
mysql-查询与更新语句是如何执行的(1,2)
摘要: 一,一条SQL查询语句是如何执行的 mysql大体分为server层与存储引擎;server层又分为:连接器、查询缓存、分析器、优化器、执行器;存储引擎层负责数据的存储和提取,支持InnoDB、MyISAM、Memory等多个存储引擎。 查询缓存一般不建议使用。 二,一条SQL更新语句是如何执行的
阅读全文
posted @ 2019-09-26 16:23 梦飞翔up
阅读(392)
评论(0)
推荐(0)
2019年9月24日
秒杀系统架构设计
摘要: 1,秒杀场景核心是要保证三点:稳,准,快;对应的技术落地便是高可用,一致性,高性能; 2,架构设计五原则 2.1 数据要尽量少:网络传输耗时,服务器压缩以及字符编码,序列化与反序列化消耗cpu 2.2 请求数要尽量少:页面依赖的 CSS/JavaScript、图片,以及 Ajax,建立连接要做三次握
阅读全文
posted @ 2019-09-24 17:26 梦飞翔up
阅读(1345)
评论(0)
推荐(0)
2019年9月2日
Future与FutureTask简单使用
摘要: 概念不多说,网上随便百度下就可以找到一堆。直接看代码,注意关注下运行结果中日志记录的时间。 一,Future: 运行结果: 二,FutureTask 运行结果:
阅读全文
posted @ 2019-09-02 16:06 梦飞翔up
阅读(1864)
评论(0)
推荐(0)
CyclicBrrier的简单使用
摘要: 背景:有10个同学进行吃瓜大赛,分为两组进行。要求每组内的同学都必须分到瓜以后,裁判喊开始才能进行比赛。 代码如下: 结果如下: 注意两个工具类的区别: CountDownLatch: 一个线程(或者多个), 等待另外N个线程完成某个事情之后才能执行。 CyclicBrrier: N个线程相互等待,
阅读全文
posted @ 2019-09-02 15:28 梦飞翔up
阅读(207)
评论(0)
推荐(0)
java OutOfMemoryError排查
摘要: 一,什么是OOM,原因有哪些 OOM也叫内存溢出,导致OutOfMemoryError异常的常见原因有以下几种: 二,通过一个案例定位排查 首先,看一下产生OOM的代码,它的语义是无限往集合中添加元素 首先介绍下用到的日志的概念以及工具: Heap Dump是什么?Heap Dump也叫堆转储文件,
阅读全文
posted @ 2019-09-02 00:19 梦飞翔up
阅读(694)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告