我有一个应用程序,每小时执行约20000次DATA-OPERATIONS DATA- OPERATION总共具有30个参数(用于所有10个查询)。有些是文本,有些是数字。某些Text参数最长为10000个字符。
每个DATA-OPERATION都执行以下操作:
现在执行此数据操作
我个人认为,如果我通过以上10个查询创建存储过程,那将是更好的选择。
如果是SP,则DATA-OPERATION将具有:
我建议了这个,但被告知
我仍然认为SP是更好的选择。请让我知道您的输入。
基准测试是一种选择。将不得不搜索任何可以帮助实现这一目标的工具。也可以有人针对这种问题建议已经可用的基准。
任何建议都部分取决于执行查询的脚本所在的位置。如果执行查询的脚本与MySQL实例位于同一服务器上,则不会有太大的区别,但是与1个存储过程相比,执行200k查询的开销仍然很小。
无论哪种方式,我的建议都是将其作为存储过程。您可能需要几个过程。
CURSOR
您的过程将是
由于不需要连接到MySQL服务器20000 * 10次,因此这将带来性能优势。尽管每个请求的开销可能很小,但毫秒数加起来。即使每个请求节省了0.1毫秒,也仍然节省了20秒。
另一个选择是修改您的请求以一次执行所有20k数据操作(如果可行),方法是调整您的10个查询以从上述数据库表中提取数据。所有这些的关键是将参数加载到单个批处理插入中,然后在过程中使用MySQL服务器上的语句来处理它们,而无需进一步往返。