编写自定义存储引擎1
2013-03-20 12:40
225 查看
第16章:编写自定义存储引擎
目录16.1.
前言
16.2.
概述
16.3.
创建存储引擎源文件
16.4.
创建handlerton
16.5.
对处理程序进行实例化处理
16.6.
定义表扩展
16.7.
创建表
16.8.
打开表
16.9.
实施基本的表扫描功能
16.9.1.
实施store_lock()函数
16.9.2.
实施external_lock()函数
16.9.3.
实施rnd_init()函数
16.9.4.
实施info()函数
16.9.5.
实施extra()函数
16.9.6.
实施rnd_next()函数
16.10.
关闭表
16.11.
为存储引擎添加对INSERT的支持
16.12.
为存储引擎添加对UPDATE的支持
16.13.
为存储引擎添加对DELETE的支持
16.14.
API引用
16.14.1.
bas_ext
16.14.2.
close
16.14.3.
create
16.14.4.
delete_row
16.14.5.
delete_table
16.14.6.
external_lock
16.14.7.
extra
16.14.8.
info
16.14.9.
open
16.14.10.
rnd_init
16.14.11.
rnd_next
16.14.12.
store_lock
16.14.13.
update_row
16.14.14.
write_row
16.1. 前言
对于MySQL5.1,MySQL
AB公司引入了插件式存储引擎体系结构,这样,就能创建新的存储引擎,并将它们添加到正在运行的MySQL服务器上,而不必重新编译服务器本身。
该体系结构简化了新存储引擎的开发和部署。
本章的意图是作为指南,用于帮助你为新的插件式存储引擎体系结构开发存储引擎。
关于MySQL插件式存储引擎体系结构的更多信息,请参见第14章:插件式存储引擎体系结构。
16.2. 概述
MySQL服务器采用了模块化风格。图16.1:MySQL体系结构
存储引擎负责管理数据存储,以及MySQL的索引管理。通过定义的API,MySQL服务器能够与存储引擎进行通信。
每个存储引擎均是1个继承类,每个类实例作为处理程序而被引用。
针对需要与特殊表一起工作的每个线程,处理程序是在1个处理程序的基础上实例化的。例如,如果3个连接全都在相同的表上工作,需要创建3个处理程序实例。
一旦创建了处理程序实例,MySQL服务器将向处理程序发送命令,以便执行数据存储和检索任务,如打开表、操纵行和管理索引等。
能够以累进方式创建定制存储引擎:开发人员能够以只读存储引擎启动,随后添加对INSERT、UPDATE和DELETE操作的支持,甚至能够增加对索引功能、事务和其他高级操作的支持。
相关文章推荐
- 编写自定义存储引擎3
- 编写自定义存储引擎4
- 编写自定义存储引擎5
- 编写自定义存储引擎6
- 16. 编写自定义存储引擎
- 编写自定义存储引擎2
- Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结 mysql
- Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结 mysql
- Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结 mysql
- mysql+asp.net开发注意大全:mysql创建数据库的时候,创建新用户,并且付给权限。mysql存储过程的编写,mysql数据库引擎的区别,mysql数据库文件夹备份
- mysql 创建自定义存储引擎
- WordPress中编写自定义存储字段的相关PHP函数解析
- WordPress中编写自定义存储字段的相关PHP函数解析
- django创建表时附加数据库自定义选项的方法——如指定数据库的存储引擎
- django “如何”系列5:如何编写自定义存储系统
- django 1.8 官方文档翻译: 3-3-5 编写自定义存储系统
- mysql 两种存储引擎 MyISAM 和InnoDB
- InnoDB还是MyISAM 再谈MySQL存储引擎的选择
- 今天自己写的MySQL自定义JDBCUtils代码编写过程详解.
- mysql存储引擎