自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 04 | 深入浅出索引

索引的常见模型 哈希表:仅使用等值查询 有序数组:二分查找,区间查询友好,更新效率低,仅适用于静态存储引擎 搜索树:由于二叉树高度较高,磁盘IO次数过多,所以实际使用N叉树。树根的数据块缓存于内存,树的第二层也有很大概率在内存中,进一步减少了访问磁盘的平均次数。 InnoDB索引模型 每一个索引在InnoDB中都对应一颗B+树。 主键索引的叶子结点存的是整行数据(聚簇索引) 非主键索引的叶子结...

2018-12-18 19:27:27 144

原创 03 | 事务隔离

隔离性与隔离级别 SQL标准的事务隔离级别包括:读未提交(read uncommitted)、读提交(read committed)、可重复读(repeated read)和串行化(serializable)。 读未提交是指,一个事务还没提交时,它做的变更就能被别的事务看到。 读提交是指,一个事务提交之后,它做的变更才会被其他事务看到。 可重复读是指,一个事务执行过程中看到的数据,总是跟这个事务...

2018-12-18 18:49:56 80

原创 Tars之RegistryServer

主控服务(路由+管理):提供节点的地址查询、发布、启停、管理等操作,以及对服务上报心跳的管理,通过它实现服务的注册与发现。 模块划分: 全量或增量加载路由信息 node超时检测 服务状态检测 供tars服务获取路由的Servant 供node访问的Servant 服务启动流程: //全量和增量加载路由信息的线程 _reapThread.init(); _reapThread.start()...

2018-12-12 18:55:54 623

原创 02 | 日志系统 一条更新语句是如何执行的

与查询流程不一样,更新流程涉及两个重要的日志模块:redo log(重做日志)和binlog(归档日志) redo log 当有一条记录需要更新的时候,InnoDB引擎会先将记录写入redo log里,并更新内存,这个时候更新就算完成了。同时,InnoDB引擎会在适当的时候,将这个记录更新到磁盘里,这个更新往往是在系统比较空闲的时候做。redo log是有大小限制的,当文件被写满,此时需要...

2018-12-06 11:58:31 111

原创 01 | 基础架构 一条查询语句是如何执行的

大体来说,mysql可以分为Server层和存储引擎层两部分。 server层包含连接器、查询缓存、分析器、优化器、执行器等,涵盖mysql的大多数核心功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层负责数据的存储和提取。其架构师插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。 连接...

2018-12-06 10:32:07 129

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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