摘要: 前言 这是优化系列的最后一篇的第1小篇,我们其实可以直接从sql怎么写讲起,why not?但是我还是决定花2个篇幅 问一些问题,带着几个问题循序渐进的往下走。 一个sql语句是怎么被执行的? sql中关键字的执行顺序是怎样的? 什么是扫描? 为什么查询会慢? 什么是慢查询? 第一个问题:sql是怎 阅读全文
posted @ 2018-10-16 00:06 鼠标的博客 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 实际上,前面的数据类型和表结构设计优化不能算优化,只能算规范,也就是说在设计表的时候,应该且必须做到这些 索引是sql优化的核心部分,在《高性能Mysql》中单独抽出一章讲,也印证了其重要性。这一篇也会讲的很细致。 以下所讲,除少数的如全文索引之外,均以Innodb存储引擎为基本 一、索引是什么 索 阅读全文
posted @ 2018-10-15 22:57 鼠标的博客 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 准备开始写些设计模式的随笔,这是第一篇,概述主要回顾下六大原则 先用轻松和谐的语言描述下这6个原则: 单一职责 每个类甚至每个方法都只要做自己分内的事,不要背别人的锅,也就是功能要分类,代码要解耦 里氏替换 简单点就是子类能够出现的地方,父类一定能出现,设计模式的继承和实现在这里体现的非常多 依赖倒 阅读全文
posted @ 2018-10-14 22:53 鼠标的博客 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 先给出概念 死锁: 一组进程中,每个进程都无限等待被改组进程中另一进程所占有的资源,因而永远无法得到资源,这种现象称为进程四艘 ,这一组进程称为死锁进程 活锁: 先加锁,再轮询(忙等待),进程可以上CPU,时间配额用完后下CPU,既无进展也没有阻塞 饥饿: 由于资源分配策略问题导致某个进程永远无法上 阅读全文
posted @ 2018-10-14 22:52 鼠标的博客 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 一、范式 如果详细的讲范式,要写大大大篇文章来讲,这里假设大家知道一些基本的范式规则,我用简洁的语句和例子说明 第一范式:列不可再分,譬如地址字段,可以再细分为省市区门牌号等等(其实还是看需求怎么整) 第二范式:满足第一范式,且除主键以外的列都依赖于主键,这个好理解,订单表中不要有商品名,因为商品名 阅读全文
posted @ 2018-10-14 22:41 鼠标的博客 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 本篇是优化系列的第一篇:数据类型 为了不产生赘述,尽量用简洁的语言来描述。 在选择数据类型之前,首先要知道几个原则: 更小的通常更好 尽量使用可以正确存储数据的最小数据类型。更小的数据类型意味着更快,占用更少的磁盘,内存以及缓存,以及处理时间 简单就好 这是出于操作数据类型的效率和代价考虑。整型比字 阅读全文
posted @ 2018-10-14 21:54 鼠标的博客 阅读(296) 评论(0) 推荐(0) 编辑
摘要: git常见问题项目汇总 阅读全文
posted @ 2018-10-09 21:07 鼠标的博客 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 最近想把以前积累的零散java练习和学习的东西建一个项目整理出来上传到码云托管,免得电脑挂了啥也找不到 配置是IDEA2017+java8+maven3.2.5,截图记录下步骤 第一步:File--> New-->Project 打开的界面如下:选择Maven,勾选Create from arche 阅读全文
posted @ 2018-10-09 17:36 鼠标的博客 阅读(17283) 评论(0) 推荐(0) 编辑
摘要: git相关的操作 阅读全文
posted @ 2018-10-09 16:14 鼠标的博客 阅读(861) 评论(0) 推荐(0) 编辑
摘要: Windows操作系统支持内核级线程,调度单位是线程,它采用基于动态优先级的,抢占式调度,并结合时间配额的调整来完成调度 一、几个前提知识点 就绪线程按优先级进入相应的就绪队列 系统总是选择优先级最高的就绪线程运行 同一优先级的各个线程按时间片轮转方式进行调度 多CPU系统中允许多个线程并行运行 二 阅读全文
posted @ 2018-10-07 11:45 鼠标的博客 阅读(2416) 评论(0) 推荐(0) 编辑