为了账号安全,请及时绑定邮箱和手机立即绑定

查询语句中调用函数的问题,怎么解决效率问题。

查询语句中调用函数的问题,怎么解决效率问题。

倚天杖 2018-12-07 12:56:19
主表 保存 服装信息 ID ,Name 1  , T-Shirt 2,  西服 3,  衬衫 字表,保存不同服装的型号 ID,PID,ProductNo 1,1,X 2,1,L 3,1,S 4,2,XXL 5,2,XXXL 6,2,M 基本表结构如上,现在想得到一个结果 ID ,Name ,ProductNo 1,T-shirt,x-l-s  (x-l-s这个是通过一个函数循环得到的) 语句基本是   select id,name,dbo.getProductNo(ID) from Product 这样的方法,但是Product表的商品很多,通过这种方式获取的话,很慢很慢,有什么好办法可以加快商品的读取速度吗?
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

用xml path来取x-l-s吧

或者主表可以做适当冗余。

select B.PID,LEFT(pns,LEN(pns)-1) as pns FROM (
SELECT PID,
(SELECT ProductNo+',' FROM 表2
  WHERE PID=A.PID
  for xml path('')) as pns
from 表2 A 
group by PID
) B 
查看完整回答
反对 回复 2019-01-07
  • 3 回答
  • 0 关注
  • 472 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信