使用的是SQLSERVER数据库
一、自定义函数F2Y,在对在查询自定义函数时的性能影响,REPORT_PAY_TOTAL_TRADE为自定义函数
CREATE FUNCTION [dbo].[F2Y] ( @n_fen numeric(15,2) ) RETURNS numeric(15,2) AS BEGIN Declare @n_yuan numeric(15,2) select @n_yuan = convert(numeric(15,2),round(@n_fen/100,2)) return @n_yuan END
查询sql
SELECT ISNULL(SUM(W_3000_C), 0) W_3000_C, ISNULL(SUM(W_3000_M), 0) W_3000_M FROM REPORT_PAY_TOTAL_TRADE ( '2022-07-26 00:00:00', '2022-07-28 23:59:59' ) WHERE 1 = 1
不加自定义函数F2Y,查询时间为0.258s
加上自定义函数之后查询时间为78.021秒,明显慢了太多倍
二、自定义函数F2Y,在对查询视图时的影响,VIEW_REPORT_LOCAL_TEMP为视图
select ISNULL(SUM(W_3000_C), 0) W_3000_C,dbo.f2y(ISNULL(SUM(W_3000_M), 0)) W_3000_M from VIEW_REPORT_LOCAL_TEMP where tradeDate >= CONVERT (DATETIME,'2022-07-26 00:00:00',120) and tradeDate<=CONVERT (DATETIME,'2022-07-28 23:59:59',120)
不加F2Y函数时查询时间为0.494s
加上F2Y函数时查询时间为1.282s,影响不是太大
标签:00,函数,自定义,查询,3000,sql,F2Y 来源: https://www.cnblogs.com/shi-yongcui/p/16528380.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。