我正在为网站构建一个分析工具,并简化我的插入序列,如下所示:
INSERT INTO visits (id, page, url) VALUES (null, 'http://...', '...');
INSERT INTO params (visit_id, name, val) VALUES (123, 'page', 'product');
INSERT INTO params (visit_id, name, val) VALUES (123, 'product_id', '7');
所以换句话说,有一个中心表和其他表使用主 INSERT 的 ID 链接到它。我想将这些 INSERT 转换为 DELAYED INSERT,以便在负责存储分析数据的数据库服务器过载并且无法再处理所有写入的情况下,用户不会受到影响。但是,由于 DELAYED INSERT 不允许使用 LAST_INSERT_ID(),我不确定如何维护表之间的上述关系。
除了生成您自己的 ID 并为其分配唯一索引然后在必要时使用它来连接表之外,是否还有其他简单的方法可以做到这一点。