摘要: ``` 示例表 CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', int(20) NOT NULL DEFAULT '0' COMMENT '年龄', varch 阅读全文
posted @ 2019-09-10 08:46 小强的进阶之路 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 先来看一个栗子 如果用name索引查找数据需要遍历name字段联合索引树,然后根据遍历出来的主键值去主键索引树里再去查出最终数据,成本比全表扫描还高。 可以用覆盖索引优化,这样只需要遍历name字段的联合索引树就可以拿到所有的结果。 可以看到通过select出的字段是覆盖索引,MySQL底层使用了索 阅读全文
posted @ 2019-09-06 12:06 小强的进阶之路 阅读(5071) 评论(0) 推荐(0) 编辑
摘要: 前几篇文章介绍了mysql的底层数据结构和mysql优化的神器explain。后台有些朋友说小强只介绍概念,平时使用还是一脸懵,强烈要求小强来一篇实战sql优化,经过周末两天的整理和总结,sql优化实战新鲜出炉, 大家平时学习和工作中,遇到的90% 的sql优化都会介绍到,介意篇幅过长,分成3篇文章 阅读全文
posted @ 2019-09-03 21:40 小强的进阶之路 阅读(1091) 评论(0) 推荐(0) 编辑
摘要: 之前学习ThreadPool的使用以及源码剖析,并且从面试的角度去介绍知识点的解答。今天小强带来周期性线程池的使用和重点源码剖析。 ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor:用来处理延时任务或定时任务 定时线程池类的类结构图 Sc 阅读全文
posted @ 2019-08-30 07:55 小强的进阶之路 阅读(605) 评论(1) 推荐(1) 编辑
摘要: Explain工具介绍 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析查询语句或是结构的性能瓶颈。在select语句之前增加explaion关键字,MySQL会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行SQL。 Explaion分析示例 actor建表语句: CREA 阅读全文
posted @ 2019-08-24 12:13 小强的进阶之路 阅读(1157) 评论(0) 推荐(0) 编辑
摘要: Explain工具介绍 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析查询语句或是结构的性能瓶颈。在select语句之前增加explain关键字,MySQL会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行SQL。 Explain分析示例 -- actor建表语句: CRE 阅读全文
posted @ 2019-08-24 11:56 小强的进阶之路 阅读(17993) 评论(2) 推荐(4) 编辑
摘要: 线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable 注意:启动Thread线程只能用start(JNI方法)来启动,start方法通知虚拟机,虚拟机通过调用器映射到底层 阅读全文
posted @ 2019-08-21 07:59 小强的进阶之路 阅读(1774) 评论(1) 推荐(0) 编辑
摘要: 这篇文章对ThreadPoolExecutor创建的线程池如何操作线程的生命周期通过源码的方式进行详细解析。通过对execute方法、addWorker方法、Worker类、runWorker方法、getTask方法、processWorkerExit从源码角度详细阐述,文末有彩蛋。 exexcte 阅读全文
posted @ 2019-08-21 07:56 小强的进阶之路 阅读(876) 评论(1) 推荐(0) 编辑
摘要: mysql底层数据结构 阅读全文
posted @ 2019-08-20 23:09 小强的进阶之路 阅读(4178) 评论(1) 推荐(0) 编辑