MySQL 的blackhole存储引擎
2017-05-18 10:06
141 查看
认识MySQL的blackhole引擎是在学习MySQL的复制拓扑中遇到的。出现场景是:为了避免在分发主库上做具体实际的查询,可以将它的表修改为blackhole存储引擎。
1、什么是blackhole引擎
创建一个blackhole的表时,服务器server在数据库目录创建一个表定义文件。文件用表的名字开头,以.frm作为扩展名。没有其他文件关联到这个表。blackhole表不存储任何数据。但是如果MySQL 开启了二进制日至,则SQL语句会被记录到二进制日志中(并被复制到从服务器)。这样使用blackhole存储引擎的MySQL可以作为主从复制中的中断重复器或者在其上面添加过滤器。
2、如果设定一个的表的存储引擎为blackhole引擎
和其他引擎设置一样,在建表时设置即可。如下
create table test (
rows1 int ,
rows2 char(3)
)engine=blackhole;
3、blackhole引擎的优缺点
优点:分发主库上使用blackhole表,可以支持更多的备库。虽然会在分发主库执行查询,但是其代价非常小,因为blackhole表中没有任何数据。
缺点:该表存在Bug, 例如在某些情况下会忘记将自增ID写入到二进制日志里面。所以要小心使用blackhole表。
4、实例分析:blackhole并未存储数据
建表:
create table test (
rows1 int ,
rows2 char(3)
)engine=blackhole;
插入数据:
insert into test values(4,'aaa'),(5,'bbb'),(6,'ccc')插入结果:
查询数据:
select * from test;查询结果:
No record
1、什么是blackhole引擎
创建一个blackhole的表时,服务器server在数据库目录创建一个表定义文件。文件用表的名字开头,以.frm作为扩展名。没有其他文件关联到这个表。blackhole表不存储任何数据。但是如果MySQL 开启了二进制日至,则SQL语句会被记录到二进制日志中(并被复制到从服务器)。这样使用blackhole存储引擎的MySQL可以作为主从复制中的中断重复器或者在其上面添加过滤器。
2、如果设定一个的表的存储引擎为blackhole引擎
和其他引擎设置一样,在建表时设置即可。如下
create table test (
rows1 int ,
rows2 char(3)
)engine=blackhole;
3、blackhole引擎的优缺点
优点:分发主库上使用blackhole表,可以支持更多的备库。虽然会在分发主库执行查询,但是其代价非常小,因为blackhole表中没有任何数据。
缺点:该表存在Bug, 例如在某些情况下会忘记将自增ID写入到二进制日志里面。所以要小心使用blackhole表。
4、实例分析:blackhole并未存储数据
建表:
create table test (
rows1 int ,
rows2 char(3)
)engine=blackhole;
插入数据:
insert into test values(4,'aaa'),(5,'bbb'),(6,'ccc')插入结果:
affected rows : 3
查询数据:
select * from test;查询结果:
No record
相关文章推荐
- MySQL BlackHole 存储引擎使用
- MySQL树形复制—BLACKHOLE存储引擎的使用
- MySQL树形复制—BLACKHOLE存储引擎的使用 推荐
- mysql存储引擎Myisam、Innodb、Memery(Heap)、Mrg_myisam、Blackhole、Csv、Archive
- 可插式数据存储引擎 MySQL走向企业级
- 如何选择合适的MySQL存储引擎
- MySQL的存储引擎
- MySQL的表类型和存储引擎
- MySQL存储引擎及InnoDB并发控制介绍 推荐
- MySQL各存储引擎的区别及其启动方法
- 如何选择合适的MySQL存储引擎
- MySQL各存储引擎的区别及其启动方法
- MySQL-存储引擎的介绍
- MySQL的表类型和存储引擎
- MySQL 存储引擎
- mysql存储引擎
- MySQL各存储引擎的区别及其启动方法
- [轉]mysql多种存储引擎及特点
- MySQL存储引擎选择和比较
- MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法