使用multi_query可以使用PHP减少AWS RDS I / O及其相关成本吗?

时间:2013-07-22 15:59:47

标签: php amazon-web-services mysqli rds

我有一个使用频繁的过程,需要访问第三方API并将删节版本的数据存储到我自己的数据库中。这个数据跨越3个表,所以我有3个单独的插入语句,它们被独立调用。如果需要调用此API 100次,则运行300个插入语句。

我正在使用AWS EC2(PHP)和RDS(MySql),现在RDS I / O成本开始与实例成本相匹配,我确信主要是由于这个过程。

使用multi_query打包3个插入语句会导致数据库I / O的三分之一(因此是相关成本的三分之一),或者由于必须调用$ mysqli->而没有产生影响。每个语句的more_results()?

1 个答案:

答案 0 :(得分:1)

我非常怀疑在这方面会有所帮助。

虽然mutli_query很有用,但RDS服务器仍然运行相同数量的查询,IOPS会计入与数据库软件相关的RDS实例的任何读取或写入。这包括日志(binlog,还有错误日志,常规日志等),临时文件等。

您还会发现长或复杂的查询将被视为多个IOPS。读取副本还会导致额外的IOPS,因为它们正在读取binlog,然后根据它运行查询。

因此,将多个查询放入一个调用不太可能降低使用的iops。