【发布时间】:2021-07-22 21:33:53
【问题描述】:
我的 python 应用程序如下所示:
def create_something(data):
some_stuff
insert_into_database(data)
现在some_stuff很长很复杂,但原则上可以通过mysql程序来完成。所以我还可以添加一个数据库BEFORE INSERT 触发器,然后直接在数据库中完成所有操作。
实现的区别在于现在应用程序不是无状态的(有状态的?),主要是因为some_stuff。将所有这些放入数据库过程中将使我能够使应用程序完全无状态,这是我想要的。但是我想知道这两个选项之间的性能差异是什么?
【问题讨论】:
-
性能应该更好,因为它对数据库的调用更少。
-
但如果你想确定,你必须对它进行基准测试。没有办法预测 MySQL 存储过程会比类似的 Python 代码快还是慢。
-
@Barmar 感谢您的回答。如果函数是更多的数据操作和计算,并且只有有限数量的数据库调用,答案会改变吗?
-
对两者进行基准测试,您就会看到。实在是没法说!
-
我不明白为什么这两种方法的无国籍有任何区别。
标签: mysql performance