自定义函数的运行原理

weixin_38067327 2018-05-22 07:32:34

尊敬的SQL Server技术专家:

       您好!

       因我想减少代码量,所以用一个物理表和一个自定义函数做连接。



1)建物理表

create table 店铺销售数量(店铺代码 char(10) ,销售数量  int)



create table 店铺库存表(店铺代码
char(10) ,款式编码 char(10),颜色编码 char(2),尺码编码
char(2),库存数量  int)





2)建自定义函数
CREATE FUNCTION 合计每家店铺的库存数量()RETURNS TABLEAS
RETURN
(
SELECT 店铺代码,库存数量=sum(库存数量) from 店铺库存表 group by 店铺代码
);
GO3)如果运行1次“合计每家店铺的库存数量”函数,需要2分钟4)select * from 店铺销售数量 ,dbo.合计每家店铺的库存数量() where 店铺销售数量.店铺代码=合计每家店铺的库存数量.店铺代码“店铺销售数量表”中每条记录和“合计每家店铺的库存数量函数”做连接时,都要重新运行一次“合计每家店铺的库存数量函数”中的所有代码吗?5)这样的select语句,运行时间会很长吗?
...全文
38 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38080713 2018-05-23
  • 打赏
  • 举报
回复
跑一下sql server profiler,再对比sql 查询计划,看一下性能瓶颈在哪里(IO,CPU,MEMORY)

专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
weixin_38083061 2018-05-23
  • 打赏
  • 举报
回复
分析一下执行计划
weixin_38087592 2018-05-23
  • 打赏
  • 举报
回复
这种列倾向于建VIEW而不是 FUNCTION

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧