除了显而易见的安全性好处之外,将相关查询修改为SAP HANA数据库中的存储过程是否会带来显着的性能提升?
如果是这样,是否有可用于衡量感知收益的指标?
答案 0 :(得分:1)
SQL Server 2005以后的所有SQL语句,无论是来自内联代码还是存储过程的SQL,还是来自其他任何地方的SQL,都会被编译和缓存。因此,存储过程不会为您提供性能提升。它们确实为您提供了更好的抽象,安全性和易维护性。
详细了解 here 。
对于SAP HANA,我尝试将其与Microsoft SQL Server进行比较( This 文章对此有所了解。)我无法明确表示它确实编译和缓存内联查询但如果您使用的是最新版本,最有可能。
答案 1 :(得分:1)
阅读其他解决方案之前阅读其他解决方案。
基本上,我运行了一些测试,并将项目的动态查询换成了存储过程,并看到了巨大的性能障碍。
我正在阅读SAP HANA Best Practices参考资料,并在“绩效:
”下看到了这段话执行动态SQL很慢,因为编译时检查和查询 必须对每次调用过程进行优化。 另一个相关问题是安全性,因为构造SQL 没有正确检查所用变量的陈述可能会造成伤害 安全