存储过程把表名,条件作为参数传递对性能有什么影响?
都说存储过程比sql语句可以获得更好的性能,那么,我把表名,条件,set子句都作为参数传递,这种性能优势还存在吗?...
都说存储过程比sql语句可以获得更好的性能,那么,我把表名,条件,set子句都作为参数传递,这种性能优势还存在吗?
展开
1个回答
展开全部
存储过程之所以比单独的语句快,是因为存储过程是预编译好的,运行时无需重新编译,这样省去了编译时间
但是呢,影响语句查询效率的因素有很多,也不单单这一项,比如查询计划是否能重用等等
不要拘泥于单一的因素,要综合考虑
但是呢,影响语句查询效率的因素有很多,也不单单这一项,比如查询计划是否能重用等等
不要拘泥于单一的因素,要综合考虑
追问
如果我通过传表名去调用,而不是创建许多不用传表名的存储过程,这两个孰上孰下?
追答
sqlserver中表名不能被当做变量使用,若要如此使用,必须用字符拼接的方式
而字符拼接的方式对重用查询计划支持性不好
单独的查询语句被称做即席语句,这样与拼接的存储过程效果差不多
存储过程一般处理比较复杂的业务,实现简单语句不容易实现的功能
单就预编译这个优势一般小项目也体现不出来
ZESTRON
2024-09-04 广告
2024-09-04 广告
表面污染分析包括评估表面上存在的颗粒、残留物或物质。通过利用显微镜、光谱学和色谱法等技术,分析人员可以识别和表征污染物,以确定其成分和来源。这种分析在电子、制药和制造等各个行业中至关重要,以确保产品质量、性能和安全性。了解表面污染有助于实施...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询