我的网络服务结构如下:
- Receive request
- Parse and validate input
- Do actual webservice
- Validate output
我主要用伐木作为调试目的, 如果出了差错, 我想知道请求是什么, 希望复制请求(即发送相同的请求) 。
目前我正在登录到 MySQL 数据库表。 1 之后创建了记录,该记录在2和3之后以更多的信息更新,并在4之后清理(成功请求的图表被浏览)。
我希望记录能尽可能快和无痛。 任何加快这里的速度都会大大改善总体业绩(每项请求的往返行程 ) 。
我想使用 INSERT DELAYED
,但我无法这样做,因为我需要 LAST_INSERT_ID
来更新和随后删除日志记录,或至少记录请求的状况(即成功或错误),以便我知道何时可以提取。
我可以自己生成一个独特的代号(或至少一个非常独特的代号),但即使如此,我也不会知道 DELAYED
语句的顺序,我也可能最终试图更新或删除一个尚不存在的记录。而且由于 DELAYED
也失去了使用 NUM_AFEDED_ROOS
的能力,我无法检查询问是否有效。
有什么建议吗?