得意淡然,失意坦然;喜而不狂,忧而不伤。

Cache与存储

“会思考的PHPer”主题之四:MySQL索引使用注意事项

“会思考的PHPer”主题之四:MySQL索引使用注意事项
能用整型不用字符型。整型处理起来比字符更快。   尽量避免NULL:应该指定列为NOT NULL,除非你想存储NULL。只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。   尽量使用短索引。在较长……继续阅读 »

admin 5年前 (2014-04-02) 808浏览 0评论 0个赞

“会思考的PHPer”主题之三:MySQL索引实现【转】

“会思考的PHPer”主题之三:MySQL索引实现【转】
在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。 MyISAM索引实现 MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图: 图1 这里设表一共有三列,假设我们以Col1为主键,则图1是一个……继续阅读 »

admin 5年前 (2014-04-02) 899浏览 0评论 0个赞

“会思考的PHPer”主题之二:数据库索引为什么会选择B树结构

“会思考的PHPer”主题之二:数据库索引为什么会选择B树结构
这是一个很深的问题,我采用逐步问答的方式来解答。试图用最简洁的语言解决整体概念上的问题。 本文目的纯粹是提供对“索引采用B树结构”这个问题的一种入门概念,不涉及深入的东西。   数据库索引为什么会选择B树结构? 答:因为使用B树查找时,所用的磁盘IO操作次数比平衡二叉树更少,效率也更高。 为什么使用B树查找所用的……继续阅读 »

admin 5年前 (2014-04-02) 1581浏览 0评论 0个赞

“会思考的PHPer”主题之一:深入浅出大话索引(转)

“会思考的PHPer”主题之一:深入浅出大话索引(转)
昨天我的群里有人提出在面试的时候遇到了数据库索引的问题。 Q:为什么使用了索引查询就会快呢? A:就像字典的目录,有了目录查询当然快。 再Q:为什么有了目录就会快呢? 答不上来了。。。。。 当时我的第一反应是应该讲硬盘存储结构,讲BTree,讲二分查找,这些是数据结构的范畴,不是三言两语可以说的清楚,而且没有一定的基础也不容易理解。 很多PHPer其实是半路……继续阅读 »

admin 5年前 (2014-04-02) 877浏览 0评论 0个赞

MySQL Innodb数据库性能实践——VARCHAR vs CHAR

MySQL Innodb数据库性能实践——VARCHAR vs CHAR
学过数据库理论的读者,都应该还记得关于CHAR和VARCHAR的性能对比:CHAR比VARCHAR更快,因为CHAR是固定长度的,而VARCHAR需要增加一个长度标识,处理时需要多一次运算。    针对这种情况,我做了一下基准测试,基准测试环境如下:    【硬件配置】    硬件 &n……继续阅读 »

admin 5年前 (2014-03-27) 921浏览 0评论 0个赞

[转]hive.exec.parallel参数

[转]hive.exec.parallel参数
hive.exec.parallel参数控制在同一个sql中的不同的job是否可以同时运行,默认为false. 下面是对于该参数的测试过程: 测试sql: select r1.a from (select t.a from sunwg_10 t join sunwg_10000000 s on t.a=s.b) r1 join (select s.b ……继续阅读 »

admin 5年前 (2013-12-26) 807浏览 0评论 0个赞

MySQL Replication, 主从和双主配置原理

MySQL Replication, 主从和双主配置原理
  MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场合。与之对应的另一个技术是同步的MySQL Cluster,但因为比较复杂,使用者较少。     下图是MySQL官方给出了使用Replication的场景: Re……继续阅读 »

admin 6年前 (2013-05-27) 893浏览 0评论 0个赞

水平切分,分库,分表,主从,集群 数据库水平切分的实现原理解析

水平切分,分库,分表,主从,集群 数据库水平切分的实现原理解析
    水平切分,分库,分表,主从,集群 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 第1章  引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来……继续阅读 »

admin 6年前 (2013-05-27) 824浏览 0评论 0个赞

PB(protocol buffer)技术详解(语言规范)

PB(protocol buffer)技术详解(语言规范)
今天在做emoji存储的时候了,学习到一种新的存储方案(PB),网上找了些资料,记录一下。 该系列Blog的内容主体主要源自于Protocol Buffer的官方文档,而代码示例则抽取于当前正在开发的一个公司内部项目的Demo。这样做的目的主要在于不仅可以保持Google文档的良好风格和系统性,同时再结合一些比较实用和通用的用例,这样就更加便于公司内部的培训……继续阅读 »

admin 6年前 (2013-05-24) 688浏览 0评论 0个赞

Redis安装初体验

Redis安装初体验
  redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的……继续阅读 »

admin 6年前 (2013-05-14) 913浏览 0评论 0个赞