Mysql 黑洞引擎的创造性应用
根据文档:Mysql 黑洞引擎的创造性应用,mysql,Mysql,根据文档: 黑洞存储引擎可以用于诊断和将二进制日志卸载到另一台机器,而无需将数据库存储在该机器上 对于这个引擎,你还能想出什么创造性的用途呢?似乎是一个非常好的用于程序测试的“模拟”数据库 我经常使用Python的内部SQLite数据库来处理这些事情,但是有一个特定于MySQL的模拟数据库就好了;谢谢分享 (作为最后一步,单元测试可以放下测试表;等等,但“黑洞”引擎可以避免这一步。)使用触发器找到一个A: 如果事务中需要进行一系列复杂的插入或更新,可以在应用程序代码中执行这些操作,或者 您可以
黑洞存储引擎可以用于诊断和将二进制日志卸载到另一台机器,而无需将数据库存储在该机器上 对于这个引擎,你还能想出什么创造性的用途呢?似乎是一个非常好的用于程序测试的“模拟”数据库 我经常使用Python的内部SQLite数据库来处理这些事情,但是有一个特定于MySQL的模拟数据库就好了;谢谢分享
(作为最后一步,单元测试可以放下测试表;等等,但“黑洞”引擎可以避免这一步。)使用触发器找到一个A: 如果事务中需要进行一系列复杂的插入或更新,可以在应用程序代码中执行这些操作,或者 您可以创建一个“大”
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)上模拟事务