日期:2014-05-16  浏览次数:21024 次

MYSQL自定义存储引擎api分析
    在mysql上实现自定义的存储引擎有如下两种思路:
一种是像heap、myisam存储引擎那样,将数据存储功能放在引擎内部,另一种方法是将引擎做成一个adapter,数据存储在其他独立的模块中,adapter引擎负责与独立的数据模块进行交互。第一种思路实现起来较为困难一些,因为我们需要按照mysql的规范编程,碰到问题难以调试,第二种思路可能是更为简单通用的一种思路,因此在将来的引擎实现时可以着重考虑第二种思路。
    在mysql上实现自定义存储引擎的优势:
1)利用mysql的where过滤、order by等运算能力。
2)利用mysql的query cache,通过cache命中,提高查询速度。
3)与mysql其他引擎联合使用。
4)统一的sql接口,支持各种语言。
api分析如下:
1、table_type(),显示表的类型函数,只是为了显示,没有其他用途。如example存储引擎的该函数,const char *table_type() const { return "EXAMPLE"; }
2、 index_type(),显示索引类型的函数,只是为了显示,没有其他用途。
3、