SAP HANA 9. SQLScript Basic 之 Create an SQLScript Procedure with Calculation Engine (CE) Functions
2013-12-02 11:18
477 查看
采用CE(Calculation
Engine)执行SAP HANA 8相同的功能,比较两者区别,执行效率。
1、新建文件NewFile创建get_bp_addresses_by_role_ce.procedure
2、Local Table Type
3、SQLScript
4、Team→Commit&
Activate之后,在SQL Console中调用代码
执行结果304 ms 427µs VS
690 ms 49µs
因采用CloudShare的服务器,速度比较慢,貌似纯SQL写的Procedure胜出了,CE写的Procedure速度偏慢。
PS:CE封装了很多的内置函数,如下
Engine)执行SAP HANA 8相同的功能,比较两者区别,执行效率。
1、新建文件NewFile创建get_bp_addresses_by_role_ce.procedure
2、Local Table Type
create typett_bp_addresses as table ( PartnerIdnvarchar(10), PartnerRolenvarchar(3), EmailAddressnvarchar(255), CompanyNamenvarchar(80), AddressIdnvarchar(10), City nvarchar(40), PostalCodenvarchar(10), Street nvarchar(60) )
3、SQLScript
CREATE PROCEDURE get_bp_addresses_by_role_ce ( in partnerrole nvarchar(3), out bp_addresses tt_bp_addresses ) LANGUAGE SQLSCRIPT SQL SECURITY INVOKER READS SQL DATA AS BEGIN /***************************** Write your procedure logic *****************************/ lt_bp = CE_COLUMN_TABLE("SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::businessPartner", ["PartnerId", "PartnerRole", "EmailAddress", "CompanyName", "AddressId" ]); lt_bp_proj = CE_PROJECTION(:lt_bp, ["PartnerId", "PartnerRole", "EmailAddress" , "CompanyName", "AddressId" ], '"PartnerRole" = :partnerrole' ); lt_address = CE_COLUMN_TABLE("SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::addresses", ["AddressId", "City", "PostalCode", "Street"]); bp_addresses = CE_JOIN(:lt_bp_proj, :lt_address, ["AddressId"], ["PartnerId", "PartnerRole", "EmailAddress", "CompanyName", "AddressId", "City", "PostalCode", "Street"]); END;
4、Team→Commit&
Activate之后,在SQL Console中调用代码
call"_SYS_BIC"."WorkShop.sessiona.00.models/get_bp_addresses_by_role_sql"( partnerrole =>'02', bp_addresses => ? ) call"_SYS_BIC"."WorkShop.sessiona.00.models/get_bp_addresses_by_role_ce"( partnerrole =>'02', bp_addresses => ? )
执行结果304 ms 427µs VS
690 ms 49µs
因采用CloudShare的服务器,速度比较慢,貌似纯SQL写的Procedure胜出了,CE写的Procedure速度偏慢。
PS:CE封装了很多的内置函数,如下
相关文章推荐
- SAP HANA 10. Create an SQLScript Procedure with Imperative Logic
- SAP HANA 8. SQLScript Basic 之 Create an SQLScript Procedure with SELECT Statement
- Create an Excel-file with PL/SQL
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
- sql script create db
- Translating SQLException with SQL state '42000', error code '1064', message [You have an error in yo
- Mongodb分片问题之-please create an index that starts with the shard key before sharding
- SQL写存储过程时报错 'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
- Create a nice looking chart with CL_GUI_CHART_ENGINE - Part 1 - Chart Designer
- SQL Developer "Unable to create an instance ..."解决方法
- Read an Excel xlsx with PL/SQL
- Start Oracle Sqlplus with Login Information Script
- SharpHSQL - An SQL engine written in C#
- Destroy method on bean with name 'sqlSessionFactory' threw an exception
- Oracle SQL developer Unable to create an instance of the Java Virtual Machine
- Create a nice looking chart with CL_GUI_CHART_ENGINE - Part 2 - Customization
- sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"问题解决
- error while performing databases login with sqlserver driver:unable to create connection
- How to use an ActiveX script task to create a loop in DTS
- Error while preforming database login with the "sqlserver" driver Unable to create...