根据文档:
http://dev.mysql.com/doc/refman/5.0/en/blackhole-storage-engine.html
黑洞存储引擎可用于诊断和将二进制日志卸载到另一台机器,而无需将数据库存储在该机器上。
您还能想出该引擎的其他创意用途吗?
最佳答案
使用触发器找到了一个:
如果您有一系列复杂的插入或更新需要在事务中发生,您可以在应用程序代码中执行这些操作,或者
您可以创建一个“大”blackhole
表,其中包含足够多的行来容纳所有值。
然后创建一个触发器,例如:
DELIMITER $$
CREATE TRIGGER ai_bh_table_each AFTER INSERT ON bh_table FOR EACH ROW
BEGIN
DECLARE lastid1 integer;
INSERT INTO table1 VALUES (null, new.field1, new.field2);
SELECT LAST_INSERT_ID() INTO lastid1;
INSERT INTO table2 VALUES (null, new.field3, lastid1);
....
END$$
DELIMITER ;
如果您包含错误检查代码,您甚至可以在不支持它的引擎(如 MyISAM)上模拟事务。
关于mysql - 黑洞引擎的创意用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851387/