ITBOY的专栏

博客使我们交流的平台

hadoop基础篇之基础图

1、JobTrack给每个需要执行的任务生成一个JobInprogress 2、JobInProgress监控整个任务执行情况 3、TaskInProgress监控各个分配到的子任务的执行情况 4、TaskAttempt用于与执行节点间的通信 5、TaskTrack用于请求任务,上传当前节...

2017-03-29 16:15:04

阅读数 127

评论数 0

索引杂记

1、避免创建重复索引 2、尽量避免创建冗余索引,尽量扩展已有索引而不是创建新索引 3、尽量将行过滤在存储引擎层,否则返回的数据会在服务器层加锁,导致锁冲突,甚至导致死锁,降低性能 4、InnoDB存储引擎会在二级索引上加共享锁,但访问主键索引时会加上排他锁 5、对于选择性低的列进行排序,可...

2017-03-20 00:25:35

阅读数 160

评论数 0

覆盖索引

1、覆盖索引是联合索引的一个延伸与优化 2、覆盖索引的定义就是查询的列都包含在索引中。 3**优点** 3.1、索引条目通常远小于数据行大小,这样一次IO可以加载更多数据,减少IO次数 3.2、对于IO密集型的范围查询,因为索引是顺序存储的,所以会比随机从磁盘读取每一行数据的IO要少的多 ...

2017-03-16 01:23:03

阅读数 612

评论数 0

基于InnoDB索引主键策略

1、建议采用自增长int型为主键,主键的数据应该与应用无关,不建议采用字符串作为主键。因为采用数字作为主键可以保证数据行是按照顺序写入,但是采用字符串为主键可能导致随机写入,进而导致数据的频繁移动,甚至导致页分裂影响性能。InnoDB页分裂的最大填充因为为15/16。 2、使用字符串作为主键的缺...

2017-03-16 00:53:52

阅读数 448

评论数 0

联合索引、聚簇索引

1、联合索引 1.1、多个独立索引很难形成三星索引 1.2、当出现服务器对多个索引做相交操作(and),通常异味着需要创建联合索引来取代多个独立的单列索引 1.3、当出现服务器对多个索引做联合操作(OR),通常需要耗费大量的CPU或者内存资源在算法的缓存、...

2017-03-15 23:56:19

阅读数 1766

评论数 0

高性能索引策略

1、查询中的列不是独立的,则不能使用索引。独立列指索引列不能是表达式一部分或者函数的参数。例如 Select actor_id From actor Where actor_id+1=5 2、对于很长的列,比如BLOB、TEXT、很长的VARCHAR列必须使用前缀索引。 2.1、前缀索引可以节约...

2017-03-15 23:26:51

阅读数 183

评论数 0

Mysql索引

索引分为 B-tree索引 特点: 1、可以进行全值匹配查找 2、可以进行最左匹配查找 3、可以进行列前缀匹配(联合索引,只能是最左列) 4、匹配范围查找 5、精确匹配一列,另一列范围查找(联合索引要注意索引...

2017-03-09 00:03:16

阅读数 143

评论数 0

Mysql MVCC实现原理解析

innodb MVCC主要是为Repeatable-Read事务隔离级别做的。在此隔离级别下,A、B客户端所示的数据相互隔离,互相更新不可见 了解innodb的行结构、Read-View的结构对于理解innodb mvcc的实现由重要意义 innodb存储的最基本row中包含一些额外的存储信息...

2017-03-04 23:17:15

阅读数 735

评论数 0

jvm方法调用解析(方法重载实现机制)

1、方法调用分为解析调用、分派调用两种 2、静态方法、私有方法、实例构造器、父类方法、final方法都属于解析调用,在编译期确定调用的方法地址。在编译期,编译器会将方法调用由符号引用变成直接引用,直接指向方法的入口地址 3、分派调用则是符号引用,是在运行期确定方法调用的地址 3.1、...

2017-02-28 15:45:01

阅读数 500

评论数 0

jvm中方法执行

jvm分为以下几部分: 1、程序计数器 主要用来获取下一条要执行的指令,比如线程切换时候,恢复上次线程执行到的位置。因此属于线程私有的 2、方法栈 - 线程执行方法时,临时创建,属于线程私有,生命周期与线程生命周期一致 - 方法的执行就是一个栈帧的入栈出栈过程 - 栈帧 ...

2017-02-26 18:22:44

阅读数 324

评论数 0

深入解析java虚拟机-jvm运行机制

JVM体系结构 Java虚拟机,java源文件(.java)通过编译器生成字节码文件(.class),字节码文件(.class)通过JVM(Java虚拟机)中的解释器再翻译成特定机器上的机器码。 编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换...

2017-02-23 15:08:16

阅读数 530

评论数 0

synchronized锁优化

1、java多线程互斥,和java多线程引入偏向锁和轻量级锁的原因 Synchronized属于重量级锁,线程运行到同步代码块的时候,被阻塞线程会由用户态切换到内核态,等锁释放时,激活阻塞线程,频繁的来回切换会导致,系统性能下降 2、对象头 Java对象头里的Mark Wor...

2017-02-22 14:29:41

阅读数 685

评论数 0

Java对象内存结构

首先要区分清楚的是shallow size和deep size。Shallow size是指对象自身占用的内存大小,其引用对象的大小不算在内。而deep size,则是自身所占内存大小和其递归引用的所有对象所占内存大小的总和。大多数情况下,你会希望获得一个对象的deep size,但是为了知道这个...

2017-02-22 13:59:20

阅读数 196

评论数 0

JVM性能调整的一些基本概念

本文是我在工作中调整 Solaris 8 上的 WebLogic 6.0SP2 中遇到诸多问题后,查阅相关资料而产生的一些概念,罗列出来,或许对您有所帮助。这并不代表,笔者推荐您使用 WebLogic 和 Solaris 的组合,相反,笔者欢迎相关 Tomcat 性能调整方面的心得。笔者在 Sun...

2012-08-19 11:34:40

阅读数 577

评论数 0

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