我正在使用高速数据流并执行以下步骤将数据存储在 MySQL 数据库中。对于每个新到达的项目。
- (1) 解析传入项。
- (2) 执行几次“INSERT ... ON DUPLICATE KEY UPDATE”
我使用INSERT ... ON DUPLICATE KEY UPDATE来消除到数据库的额外往返。
在尝试提高整体性能的同时,我考虑过通过以下方式进行批量更新:
- (1) 解析传入项。
- (2) 使用“INSERT ... ON DUPLICATE KEY UPDATE”生成 SQL 语句并附加到文件中。
定期将文件中的 SQL 语句刷新到数据库中。
两个问题:
- (1) 这会对数据库负载产生积极影响吗?
- (2) 我应该如何将语句刷新到数据库中,以便仅在完全刷新后重建索引?(使用交易?)
更新:我正在使用 Perl DBI + MySQL MyISAM。
提前感谢您的任何评论。