用途:该技能用于优化数据库批量操作性能。当需要处理多条相关记录(如发票、订单、事件)、网络延迟显著(如云数据库)、写入操作彼此独立且可实现回退时适用。
主要能力:核心思路是“顺序映射、批量写入”。顺序处理慢是因为每条记录需要多次数据库往返;改为先收集全部数据,再执行批量插入,可提升约30-40%吞吐量。实现上分三步:先逐条处理需要上下文的映射逻辑并收集待写入数据;再批量插入事务记录;最后聚合同一记录的更新后批量更新库存。若批量操作失败,则回退到逐条顺序处理以保证数据完整性。支持部分成功,单条失败不影响整批。
使用方式:资料提供 Python 与 TypeScript 示例。Python 中定义 BatchProcessor 类,调用 process_batch(items, user_id) 返回状态、处理数、失败数、失败明细与耗时。TypeScript 中定义 BatchResult 接口与 BatchProcessor 类,调用 processBatch(items, userId)。示例使用 Supabase 客户端进行插入与更新。
适用场景:发票行项目处理、订单、事件等独立写入场景。
限制与注意事项:批量操作可能失败,必须实现回退;需聚合对同一记录的多次更新;大批量应分块,建议最多500条以避免超时;批量失败时应记录单条上下文;避免批量处理相互依赖的操作。相关模式包括 checkpoint-resume、idempotency、dead-letter-queue。具体收费、平台支持等资料暂未提供。