存储过程把表名,条件作为参数传递对性能有什么影响?
都说存储过程比sql语句可以获得更好的性能,那么,我把表名,条件,set子句都作为参数传递,这种性能优势还存在吗?...
都说存储过程比sql语句可以获得更好的性能,那么,我把表名,条件,set子句都作为参数传递,这种性能优势还存在吗?
展开
1个回答
展开全部
存储过程之所以比单独的语句快,是因为存储过程是预编译好的,运行时无需重新编译,这样省去了编译时间
但是呢,影响语句查询效率的因素有很多,也不单单这一项,比如查询计划是否能重用等等
不要拘泥于单一的因素,要综合考虑
但是呢,影响语句查询效率的因素有很多,也不单单这一项,比如查询计划是否能重用等等
不要拘泥于单一的因素,要综合考虑
追问
如果我通过传表名去调用,而不是创建许多不用传表名的存储过程,这两个孰上孰下?
追答
sqlserver中表名不能被当做变量使用,若要如此使用,必须用字符拼接的方式
而字符拼接的方式对重用查询计划支持性不好
单独的查询语句被称做即席语句,这样与拼接的存储过程效果差不多
存储过程一般处理比较复杂的业务,实现简单语句不容易实现的功能
单就预编译这个优势一般小项目也体现不出来
景联文科技
2024-06-11 广告
2024-06-11 广告
一、什么是数据标注?1. 数据标注定义数据标注是对未经处理的语音、图片、文本、视频等数据进行加工处理, 并转换为机器可识别信息的过程。原始数据一般通过数据采集获得, 随后的数据标注相当于对数据进行加工, 然后输送到人工智能算法和模型里完成调...
点击进入详情页
本回答由景联文科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询