胡飞飞的学习笔记

奋斗中的菜鸟

排序:
默认
按更新时间
按访问量

MySQL性能优化[理论篇]-聚簇索引和非聚簇索引,InnoDB和MyISAM

聚簇索引 聚簇索引(Clustered Index)并不是一种新的数据结构,只是B树索引的一种存储方式。 聚簇索引的特点是完整的数据行就放在B树的叶子结点中,Clustered(聚簇,集群)就表示数据行与对应的键紧凑的存储在一起。 下图是《高性能MySQL》聚簇索引的截图,其中,叶子结点包含...

2018-05-27 01:49:45

阅读数:66

评论数:0

MySQL性能优化[实践篇]-复合索引实例

上篇文章最后提了个问题 假设某个表有一个复合索引(c1,c2,c3,c4),问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些 1. where c1=x and c2=x and c4>x and c3=x 2. where c1=x and c2=...

2018-05-26 17:02:11

阅读数:11

评论数:0

MySQL性能优化[实践篇]-索引合并与复合索引

从上一篇创建索引的实践中,我们看到了索引给我们带来的性能提升是非常可观的。 我们上次创建的表结构非常简单,只有两三个字段,where子句查询条件只有一个字段。 实际应用场景中我们的表结构会更复杂,查询条件也会非常多。在多条件查询的情况下又如何才能用到索引呢,我们可以测试一下。 准备测试数...

2018-05-20 19:07:01

阅读数:26

评论数:0

对单页面应用与Router的一些思考

昨晚鑫哥到我宿舍聊天,聊了很多,从各自公司用的技术到杭州和深圳的房价,从后端技术到前端技术,一直聊到凌晨一点多,直到鑫哥被室友“驱逐”出去。中间有一段聊到公司用到的React,提到了单页面应用和Router,觉得思路很好有必要写个笔记记下来。 最开始的网页 早期的网页都是一个个独立的htm...

2018-04-27 14:24:53

阅读数:25

评论数:0

MySQL性能优化[实践篇]-使用B树索引

准备测试数据 create table tb_user( id int auto_increment primary key, name varchar(10), birth date ); 使用存储过程创建测试数据,不过在这之前我们先创建两个工具函数。 mysql里面...

2018-04-24 15:03:23

阅读数:35

评论数:0

MySQL性能优化[理论篇]-B树索引与hash索引

对索引的优化是数据库性能优化方面最重要的一项,也是性能提升最显著的。 如果把数据库比作一本新华字典,那索引就是字典前面的目录了。如果不使用目录,想从字典中直接找某个字的解释,难度可想而知,但是有了目录,我们可以先从目录中找到这个字对应的页码,然后再翻到相应的页码,就能找到这个字的完整解释...

2018-04-20 00:19:34

阅读数:72

评论数:0

Win32开发小回忆

这两天阿瘦找我给他的一个程序写个界面,听说是要参加啥三创比赛(都大四老狗了,汗),然后问要用什么语言——C/C++,Windows平台的。他之前没怎么接触过C++方面的界面开发,然后我就开始了一波Windows教学,顺便自己也回忆回忆(大一大二玩了一年多,之后几乎就没碰过)。 先看一下整体流程,...

2018-04-14 03:19:06

阅读数:68

评论数:0

B树与B+树

从二叉搜索树说起 其实上一篇文章已经对BST进行过讨论,并对AVL,红黑树这样的自平衡二叉查找树分别解决了什么问题进行了讨论。 上面这些数据结构理论上能达到O(log2N)O(log2N)O(log_2N)的平均时间复杂度。 这个时间复杂度是基于对内存的操作而计算出来的。倘若我们的数据量...

2018-04-06 02:47:24

阅读数:80

评论数:0

二叉搜索树BST,AVL,红黑树,伸展树

从线性查找和二分查找说起 线性查找是最基础(野蛮)的查找算法,最坏的情况从头遍历到位,最好的情况比较一次,平均时间复杂度为N2N2\frac{N}{2}。 二分查找能达到O(log2N)O(log2N)O(log_2N)的时间复杂度,但是前提是列表中的数据必须是有序的。 不管是基于数组实...

2018-03-26 00:11:53

阅读数:82

评论数:2

两种纯CSS的方式实现优惠券上的锯齿效果

昨天有个模块分到我手里了,有个优惠券的组件要封装,正好复习复习CSS。 优惠券最主要就是这个锯齿的问题。其实用图片做也完全可以,反正最后那些小图片都会被webpack编码成Base64的DataURL 关于DataURL的内容可以参考RFC2397 不过用图片方式就没有啥挑战性了,那...

2018-03-22 01:46:27

阅读数:155

评论数:2

DX面经

马上大学毕业了,来HZ找实习生工作,一次电话面试问的问题比那些面对面的问问题更清楚,单刀直入,让我记忆深刻。 面试官:先说一下Object类里面的方法。 我:首先就是hashCode和equals方法吧,这两个方法主要用在HashMap里面,因为HashMap存数据的时候要根据key的...

2018-03-18 20:19:38

阅读数:52

评论数:0

Struts2怎么使用OGNL的

这几天整理笔记,发现了以前的几篇文章没发出来 在之前的一篇文章中我们看到了OGNL的强大功能。 OGNL并不是专门为Struts2框架而设计的,它是用于获取和设置Java对象属性的一种独立的表达式语言。 所以在看这篇文章之前建议先把之前的一篇文章看完。 Struts...

2018-03-17 18:12:48

阅读数:32

评论数:0

Javaer眼中的JS

把之前写的笔记整理了一下,重新拾起JS 基本数据类型 JS Java number double boolean boolean string String null(Object类型的null引用) null ...

2018-03-16 23:17:30

阅读数:88

评论数:2

React入门学习笔记

React介绍 谷歌大法,一搜一大把 React环境安装 安装react,react-dom模块: cnpm install react react-dom --save 因为react中使用了JSX语法,所以需要babel进行转换: cnpm install babel-...

2018-03-16 19:18:09

阅读数:44

评论数:0

Babel入门教程

babel有什么用 ES6标准从ES2015制定开始已经有几个年头了,虽然各大浏览器最新版都在极力地实现标准,但并不是所有人都会用最新版本的浏览器,特别是天朝像某狗某游这样的二次包装的浏览器,使用别人的内核而且版本更新又比较慢,导致新标准不能及时地在浏览器端使用。 Babel就是用来解决这个问...

2018-03-16 01:24:35

阅读数:174

评论数:0

ES6学习笔记-OOP面向对象编程

ES5中使用构造函数定义类 ES6之前定义一个类,都是通过定义构造函数实现: function Rectangle(x,y){ this.x = x; this.y = y; } Rectangle.prototype.area = function(){ return x *...

2018-03-15 17:58:33

阅读数:33

评论数:0

ES6语法学习-JS中的lambda:箭头函数

1. 最基本的写法 使用=>操作符,简化匿名函数的定义 (param1,param2,...,paramN) => { // 函数体 } // 参数列表与箭头符号不能换行 var func = () =&amp...

2018-03-14 14:50:33

阅读数:41

评论数:0

ES6学习笔记-解构赋值

解构赋值 解构赋值可以将数组中的元素或对象中的属性赋值给指定的变量。 1. 数组解构 1.1 基本用法 var a, b, rest; // 数组解构 [a, b] = [10, 20]; console.log(a); // 10 console.log(b); // 20 ...

2018-03-14 13:30:08

阅读数:18

评论数:0

ES6学习笔记-var,let,const

var,let和const ES6新增了let关键字用于声明变量,用法上和var类似,这里列举一些两者的区别。 let与var区别 let声明的变量只在它所在的代码块内有效: 因为上面的特性,所以let很适合在for循环中做计数器: var声明的变量会被挂在到全局的window上...

2018-03-14 10:09:49

阅读数:26

评论数:0

MySQL性能优化[准备篇]-单条SQL性能剖析

上面一篇文章已经将慢查询语句记录到日志中,接着我们就要对单条SQL查询进行性能分析,了解它慢在何处,才能对症下药进行性能优化。 show profile show profile命令是MySQL5.1之后引入的,由开源社区的Jeremy Cole贡献。 1. 开启profiling ...

2018-03-10 00:22:15

阅读数:44

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭