预准备语句中的所有参数都应始终使用占位符吗?

时间:2019-01-30 15:21:36

标签: sql-server prepared-statement

我一直在尝试寻找一种可以告诉我一种方法的方法,这种方法可以告诉我在参数为静态时如何编写准备好的语句。 即使值始终相同,是否所有参数都应始终使用占位符? SELECT * FROM student WHERE admission_status = 'Pending' AND gpa BETWEEN ? AND ? 也就是说,在这个示例中,admission_status永远不会是“ Pending”,而是gpa会根据用户输入或不同的方法调用而改变。

我知道这不是最好的例子,但是我问的原因是,我发现在替换所有静态参数时,在使用占位符的静态参数替换成数百个查询时,执行速度存在明显差异。行长。

这样做可以接受吗?还是这违背了准备使用语句的标准?我想通过测试新索引并用值替换?s来“优化”较大的查询之前,先了解一种方法,以查看执行速度是否提高。

0 个答案:

没有答案