在Teradata中绑定变量

时间:2018-04-12 16:16:07

标签: sql binding teradata

我被告知Teradata中查询的绑定变量可以改善其性能,因为查询总是相同的,因此Teradata不会重新准备或重新解析SQL语句,而是宁愿重用存储的执行计划以纪念会议。

示例,我有以下宏:

REPLACE MACRO DB.MACRO(USER_ACCOUNT_ID# VARCHAR(100))
AS (
    SELECT USER_ACCOUNT_ID
    ,USER_ACCOUNT_TYPE_DESCRIPTION
    ,CAST(TD_DATE_KEY_TO_DATE(DATE_KEY) AS VARCHAR(10)) AS "DATE"
    ,CLUSTER_DESC AS CLUSTER_DESCRIPTION
    FROM DB.VIEW
    WHERE USER_ACCOUNT_ID = :USER_ACCOUNT_ID#;
);

我执行的操作如下:EXECUTE DB.MACRO('123');

使用查询绑定时,语句会这样EXECUTE DB.MACRO(?); 以某种方式提供USER_ACCOUNT_ID的实际值。

如何对这样的语句进行查询绑定,以避免查询预分配和解析时间?

0 个答案:

没有答案