- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 hadoop基础篇之基础图
1、JobTrack给每个需要执行的任务生成一个JobInprogress 2、JobInProgress监控整个任务执行情况 3、TaskInProgress监控各个分配到的子任务的执行情况 4、TaskAttempt用于与执行节点间的通信 5、TaskTrack用于请求任务,上传当前节点资源,执行Map/Reducer任务 6、Map/Reducer真正执行任务
2017-03-29 16:15:04 236
原创 索引杂记
1、避免创建重复索引 2、尽量避免创建冗余索引,尽量扩展已有索引而不是创建新索引 3、尽量将行过滤在存储引擎层,否则返回的数据会在服务器层加锁,导致锁冲突,甚至导致死锁,降低性能 4、InnoDB存储引擎会在二级索引上加共享锁,但访问主键索引时会加上排他锁 5、对于选择性低的列进行排序,可以采用延迟关联的方式,尽量通过覆盖索引返回需要的主键来进行优化 6、Mysql优化器会通过两个API来
2017-03-20 00:25:35 285
原创 覆盖索引
1、覆盖索引是联合索引的一个延伸与优化 2、覆盖索引的定义就是查询的列都包含在索引中。 3**优点** 3.1、索引条目通常远小于数据行大小,这样一次IO可以加载更多数据,减少IO次数 3.2、对于IO密集型的范围查询,因为索引是顺序存储的,所以会比随机从磁盘读取每一行数据的IO要少的多 3.3、对于InnoDB存储引擎,如果能从二级索引中获取要查询到的列,就可以避免对主键的二次查询 4
2017-03-16 01:23:03 807
原创 基于InnoDB索引主键策略
1、建议采用自增长int型为主键,主键的数据应该与应用无关,不建议采用字符串作为主键。因为采用数字作为主键可以保证数据行是按照顺序写入,但是采用字符串为主键可能导致随机写入,进而导致数据的频繁移动,甚至导致页分裂影响性能。InnoDB页分裂的最大填充因为为15/16。 2、使用字符串作为主键的缺点: 2.1、由于字符串作为主键是随机写入,所以可能写入的目标页已经刷新到了磁盘中并从缓存
2017-03-16 00:53:52 727
原创 联合索引、聚簇索引
1、联合索引 1.1、多个独立索引很难形成三星索引 1.2、当出现服务器对多个索引做相交操作(and),通常异味着需要创建联合索引来取代多个独立的单列索引 1.3、当出现服务器对多个索引做联合操作(OR),通常需要耗费大量的CPU或者内存资源在算法的缓存、排序和合并操作上,特别是当有些索引列的选择性不高的时候,会返回大量数据进行合并操作 1
2017-03-15 23:56:19 4392
原创 高性能索引策略
1、查询中的列不是独立的,则不能使用索引。独立列指索引列不能是表达式一部分或者函数的参数。例如 Select actor_id From actor Where actor_id+1=5 2、对于很长的列,比如BLOB、TEXT、很长的VARCHAR列必须使用前缀索引。 2.1、前缀索引可以节约索引空间,大大提高效率 2.2、由于索引的重复度较高,导致选择性降低(选择性指不重复
2017-03-15 23:26:51 255
原创 Mysql索引
索引分为 B-tree索引 特点: 1、可以进行全值匹配查找 2、可以进行最左匹配查找 3、可以进行列前缀匹配(联合索引,只能是最左列) 4、匹配范围查找 5、精确匹配一列,另一列范围查找(联合索引要注意索引顺序) 限制: 1、对于联合索引,如果不是按照列的最左列开始查找,则无法使用
2017-03-09 00:03:16 291
转载 Mysql MVCC实现原理解析
innodb MVCC主要是为Repeatable-Read事务隔离级别做的。在此隔离级别下,A、B客户端所示的数据相互隔离,互相更新不可见 了解innodb的行结构、Read-View的结构对于理解innodb mvcc的实现由重要意义 innodb存储的最基本row中包含一些额外的存储信息 DATA_TRX_ID,DATA_ROLL_PTR,DB_ROW_ID,DELETE BIT 6字节
2017-03-04 23:17:15 1854
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人