下面有关SQL绑定变量的描述中,错误的是()
A、绑定变量是指在SQL语句中使用变量,改变变量的值来改变SQL语句的执行结果
B、使用绑定变量,可以减少SQL语句的解析,能减少数据库引擎消耗在SQL语句解析上的资源
C、使用绑定变量,提高了编程效率和可靠性,减少访问数据库的次数
D、使用绑定变量,查询优化器会预估的比字面变量更加真实
绑定变量是相对文本变量来讲的,所谓文本变量是指在SQL中直接书写查询条件,这样的SQL在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询绑定变量在运行时传递,然后绑定执行。优点是减少硬解析,降低CPU的争用,节省SHARED_POOL;缺点是不能使用固定的执行计划,SQL优化比较困难。
本题中,对于选项A,绑定变量就是之前不知道具体的值,只有运行的时候才知道值,改变变量的值来改变SQL语句的执行结果。所以,选项A错误。
对于选项B,使用绑定变量,可以减少SQL语句的解析,说法正确。所以,选项B错误。
对于选项C,使用绑定变量,减少解析次数,提高了编程效率和可靠性。所以,选项C错误。
对于选项D,使用绑定变量,查询优化器不知道具体的值,所以,其执行计划也不真实。所以,选项D正确。
所以,本题的答案为D。