ITPub博客

首页 > 数据库 > > GaussDB100 面向应用开发的功能--支持绑定变量

GaussDB100 面向应用开发的功能--支持绑定变量

作者:GaussDB_数据库 时间:2020-03-04 11:00:24 0 删除 编辑

支持版本

GaussDB 100 V300R001C00初次引入。

特性简介

GaussDB 100支持用户在SQL中通过绑定变量的方式简化解析过程,提高执行效率。

特性描述

变量绑定是指在SQL语句的条件中使用变量而不是常量。比如SQL Pool里有如下两条SQL语句:

select * from table where col=1;
select * from table where col=2;

对GaussDB 100数据库来说这两条语句完全不同,GaussDB 100数据库会根据SQL语句的文本准确匹配每个字符,虽然上述两条SQL只有一个字符不一样,但是无法匹配SQL Pool中已经存在的SQL,所以数据库就会认为这是两条完全不同的语句。对于无法完整匹配的SQL,都需要进行硬解析。

如果将上述SQL改写成select * from table where col=:var1;然后通过对变量var1的赋值去查询,那么这条语句第一次会进行硬解析,以后就只进行匹配软解析并复用SQL Pool中已有信息。假设某条语句被重复执行了很多次,那么使用绑定变量带来的好处是巨大的。一个应用程序如果未使用绑定变量或使用不充分,那么几乎一定会伴随着严重的性能问题。

绑定变量优点是减少硬解析,降低解析带来的CPU的争用和资源开销,节省SQL Pool的内存占用 ,缺点是不能使用直方图,而且SQL优化比较困难。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3156164/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 附录-错误码
下一篇: 预写式日志-归档
请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19243