我正在为客户写一些功能。基础是一个MySQL数据库,包含用于大区的多边形和用于小区的小多边形。
我编写了一个PHP函数,可以检查小区是否有任何大区的公共区域。它有大约100行PHP代码,它工作正常。它基于几个包含大区域坐标的数组和一个包含小区域的数组。
这是我的客户正在开发的大型项目的一部分。他认为代码可以写成MySQL中的存储过程,这样会更有效。
我对存储过程并不熟悉,但我读过的它似乎很少用于从数据库中检索数据,而不是用于对数据数组进行计算,我怀疑是否真的有任何性能提升。并且通过将其嵌入SQL查询中,代码似乎更复杂/更混乱。
我希望得到具有存储过程和/或功能经验的人的意见。
答案 0 :(得分:0)
此问题也发布在MySQL论坛上,我得到了答案
1至少5.7版本,MySQL sprocs通常不会提高性能
2 MySQL没有数组,你必须使用伪阵列字符串或内存表
3没有好的sproc调试器
对我来说,这听起来像是一场噩梦。