您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

计算引擎计划运算符

建议SAP 建议您使用 SQL 而不是带有 SQLScript 的计算引擎计划运算符。计算引擎计划运算符的执行当前绑定到计算引擎中的处理,并且不允许使用备选执行引擎,例如 L 本机执行。由于大多数计算引擎计划运算符在内部转换并视为 SQL 操作,因此转换需要多层优化。可以通过直接使用 SQL 来避免这种情况。与纯 SQL 实施相比,混合计算引擎计划运算符和 SQL 可能会导致严重的性能损失,具体取决于您的系统配置和使用的版本。 概览:CE_* 运算符和 SQL 之间的映射CE 运算符CE 语法SQL 等效项CE_COLUMN_TABLECE_COLUMN_TABLE([,])SELECT [] FROM CE_JOIN_VIEWCE_JOIN_VIEW([,])out = CE_JOIN_VIEW("PRODUCT_SALES", ["PRODUCT_KEY", "PRODUCT_TEXT", "SALES"]);SELECT [] FROM out = SELECT product_key, product_text, sales FROM product_sales;CE_OLAP_VIEWCE_OLAP_VIEW ([,])out = CE_OLAP_VIEW("OLAP_view", ["DIM1", SUM("KF")]);SELECT [] FROM out = select dim1, SUM(kf) FROM OLAP_view GROUP BY dim1;CE_CALC_VIEWCE_CALC_VIEW(,[])out = CE_CALC_VIEW("TESTCECTABLE", ["CID", "CNAME"]);SELECT [] FROM out = SELECT cid, cname FROM "TESTCECTABLE";CE_JOINCE_JOIN(,,[])ot_pubs_books1 = CE_JOIN (:lt_pubs, :it_books,["PUBLISHER"]);SELECT [] FROM , WHERE ot_pubs_books1 = SELECT P.publisher AS publisher, name, street,post_code, city, country, isbn, title, edition, year, price, crcy FROM :lt_pubs AS P, :it_books AS B WHERE P.publisher = B.publisher;CE_LEFT_OUTER_JOINCE_LEFT_OUTER_JOIN(,,[])SELECT [] FROM LEFT OUTER JOIN ON CE_RIGHT_OUTER_JOINCE_RIGHT_OUTER_JOIN(,,[])SELECT [] FROM RIGHT OUTER JOIN ON CE_PROJECTIONCE_PROJECTION(,[,])ot_books1 = CE_PROJECTION (:it_books,["TITLE","PRICE", "CRCY" AS "CURRENCY"], '"PRICE" > 50');SELECT FROM where []ot_book2= SELECT title, price, crcy AS currency FROM :it_b ooks WHERE price > 50;CE_UNION_ALLCE_UNION_ALL(,)ot_all_books1 = CE_UNION_ALL (:lt_books, :it_audiobooks);SELECT * FROM UNION ALL SELECT * FROM ot_all_books2 = SELECT * FROM :lt_books UNION ALL SELECT * FROM :it_audiobooks;CE_CONVERSIONCE_CONVERSION(,,[])SQL-Function CONVERT_CURRENCYCE_AGGREGATIONCE_AGGREGATION(, [,])ot_books1 = CE_AGGREGATION (:it_books, [COUNT ("PUBLISHER") AS "CNT"], ["YEAR"]);SELECT FROM [GROUP BY ]ot_books2 = SELECT COUNT (publisher) AS cnt, year FROM :it_books GROUP BY year;CE_CALCCE_CALC(‘’, )TEMP = CE_PROJECTION(:table_var, ["ID" AS "KEY", CE_CALC('rownum()', INTEGER) AS "T_ID"] );SQL 函数TEMP = SELECT "ID" AS "KEY", ROW_NUMBER() OVER () AS "T_ID" FROM :table_varCE_VERTICAL_UNIONCE_VERTICAL_UNION(, [ { ,, }...] )unnest ( [ {, } …] )as ( () [ {, ( ) } … ] ) 

计算引擎计划运算符封装数据转换函数,可用于过程或表用户定义函数的定义。它们构成不再推荐使用 SQL 语句的替代方法。其逻辑直接在计算引擎中实施,即 SQLScript 的执行环境。

存在不同类别的运算符。

  • 将列表或列视图绑定到表变量的数据源访问运算符。

  • 一种关系运算符,允许用户在评估期间绕过 SQL 处理器,并直接与计算引擎交互。

  • 实施功能的特殊扩展。