我正在为客户编写一些功能。基地是一个MySQL数据库,具有大型地区的多边形,小区域的小多边形。
我写了一个PHP功能,该功能会检索信息,如果一个小区地区与任何大区有任何共同区域。它是大约100行PHP代码,并且效果很好。它基于几个阵列,其中包含大面积的坐标和一个包含小区域的阵列。
这是我客户正在开发的较大项目的一部分。他认为,该代码可以写为MySQL中的存储程序,这将更加有效。
我不熟悉存储过程,但是我读过的一点看来,它们确实是为了从数据库中检索数据而设计的,而不是用于对数据阵列进行计算,我怀疑是否确实有任何性能提高。通过将代码嵌入SQL查询中,代码似乎更为复杂/凌乱。
我想从具有存储程序和/或功能经验的人那里获得意见。
这个问题也发布在MySQL论坛上,我得到了一个答案
1至少5.7版,MySQL Sprocs通常不会提高性能
2 mysql没有数组,您必须使用伪阵列或内存表
3没有一个好的Sproc Debugger
对我来说,这听起来像是一场噩梦sproc