代码重用和模块化对于 SQL 存储过程编程来说是一个好主意吗?
如果是这样,将这些功能添加到 SQL 存储过程代码库的最佳方法是什么?
我通常为常见且重复的任务创建标量值函数。我发现它不仅可以简化与现有程序类似的新程序的开发,而且还有助于错误跟踪和故障排除。
不过,由于性能问题,我尝试远离表值函数。
我的经验法则是,如果它是一个计算,并且在多个地方使用它,那么我会创建一个标量值函数。
您会发现在查询中使用函数对性能来说是一场灾难。这些函数成为优化器的黑匣子,因此您最终需要将函数调用重新编码回查询中,以使其在表中达到大量行时快速运行。
处理常见计算的更好方法是使用触发器将它们插入到新列中,或者插入/更新查询中。这样您就可以对计算出的值进行索引并直接使用它,而不是每次需要时都计算出来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)