自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL存储引擎接口

MySQL提供了访问不同的存储引擎数据表的虚拟层API。过去,这些接口被称之为"table handler".现在有了新的介绍——storage engine.目前我们所提到的storage engine,往往是与存储/读取数据的相关代码,而table handler指的是storage engine与MySQL优化器的接口. 抽象接口极大地促进MySQL加入其它存储引擎的步伐,抽象接口

2013-09-26 13:42:09 2913

原创 MySQL的并发访问与锁定

多个客户端同时访问/修改同一数据时,合适的锁定机制需要保证数据的一致性。 存在三个方式解决这个问题: 表级锁、页级锁、行锁,每个方式都有各自的优劣势。 表锁: 逻辑简单,不容易引起bug,在获取锁时有比较好的性能,容易避免死锁。从另外角度看,存在大量并发读写时,锁定整个表导致应用比较差的性能。 行锁: 代价是实现复杂,但高并发性能。低概率锁竞争但高概率发生bug。避免死锁难度较大,所

2013-09-26 13:41:26 1718

原创 MySQL存储引擎

MySQL存储引擎 >> 讨论MySQL中主要的几个存储引擎,复杂的不同处理细节,无法做到每个存储引擎都细化。 仅是提供代码中的核心部分指引。 >>不同存储引擎的特性 事务支持: InnoDB、NDB 索引支持:      MyISAM(B-tree、R-tree、full text)      InnoDB(B-tree)      NDB(Hash、B-tree) 缓存

2013-09-26 13:40:51 1441

原创 MySQL复制

实现方式:SQL级别复制、行级别复制 基于语句复制,修改数据的每个SQL语句都会被LOG.然后语句会在同一字符集和同一上下文情况下在从服务器重放。 基于语句复制只需要在主从服务器之间传输少量的数据。反之,需要记录大量的执行上下文信息,以便从服务器实现主服务器相同环境下重放更新操作。 然而,上下文有时候无法提供。随着新SQL功能频繁加入,基于语句复制变得很难维持相应的更新。 行复

2013-09-26 13:39:59 1183

原创 MySQL事务

MySQL体系中,实现事务的责任大部分落在存储引擎上。 事务日志细节、行或页锁、实现事务隔离级别、提交与回滚、以及其他事务关键属性基本都是在存储引擎级别实现,所以,存储引擎跟SQL层交互需要使用统一的接口。 存储引擎事务实现综述 集成第三方存储引擎,需要定义两部分:定义与实现handler子类以及handlerton实现 不可避免,事务的实现一定需要实现handler子类的大量虚拟

2013-09-26 13:39:30 1392

原创 MySQL分析器与优化器

>>>>分析器 由词法扫描器与语法分析器构成 词法扫描器 1、MySQL实现自己的词法扫描器 2、人工实现信息编排以便优化器获取信息,自动生成代码无法做到 3、实现上下文关联的token意义解析 4、关键字列表symbols[]在sql/sql_lex.h,功能名称列表sql_functions[]在sql/sql_lex.h 5、所有关键词表gen_lex_hash(sql/g

2013-09-26 13:38:05 2642

原创 MySQL线程化请求处理

当实现一个服务器之时,首先面临着一个进退两难的选择,选择多进程还是多线程结构。 两者各有良莠。从一开始,MySQL便选择了多线程。 线程与进程 两者最大的不同可能是heap的同享,这个是选择哪种模型的潜在依据。 线程优势 1、内存利用的简化 2、对于全局数据的访问无需高级技术 3、快速创建 4、内核调度成本 线程劣势 1、异常隔离要求 2、错误代价高 3、同步BUG

2013-09-26 13:36:26 1577

原创 MySQL客户端与服务器协议

关于总观:      1、监听tcp协议之上      2、握手验证先行      3、Command in one packet,Responses may in several. 包(packet)格式      压缩与非压缩,取决于握手阶段,客户端与服务器协商      抛开压缩项,包分为两种:客户端请求与服务器回复 关于服务器回包:      数据包、数据流结束

2013-09-26 13:12:22 4301

空空如也

空空如也

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

TA关注的人

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