Skip to content

Latest commit

 

History

History
13 lines (7 loc) · 1008 Bytes

File metadata and controls

13 lines (7 loc) · 1008 Bytes

编写定制的存储引擎

在MySQL中,存储引擎负责数据存储和索引管理。MySQL通过定义的API与存储引擎交互。

每个存储引擎是一个类,这个类的每一个实例与MySQL服务器通过一个特别的handler接口交互。

在每一个线程上,每一个特定的表都有一个handler与之共同工作。例如:如果有3个链接都在同一个表上工作,需要创建3个handler实例。

一旦创建了handler实例,MySQL服务器发送命令到handler上来执行数据存储和检索认为,像打开表、操作行和管理索引。

可以以一种渐进的方式来定制存储引擎:开发者可以从一个只读的存储引擎开始,然后添加对INSERT、UPDATE和DELETE操作的支持,而后再添加对索引、事务和其它高级操作的支持。

实现一个新存储引擎的最容易的方式是从复制修改EXAMPLE存储引擎开始。ha_example.cc和ha_example.h可以在storage/example源代码路径中找到。