sql 查询速度比较
简略需求是 查询某段时间的生产订单数据,但是要过滤掉其中物料基础资料中【产品经理】为空的数据,这个字段是多选基础资料字段,字段表为T_MA_PMIds; 为了列表显示,另外配备了一个文本字段 F_CPJL,存储多选基础资料里的值。为过滤该字段不为空的数据想到如下两种方案:
方案一:exists
SELECT * FROM dbo.T_PRD_MO MO
LEFT JOIN dbo.T_PRD_MOENTRY MOE ON MO.FID = MOE.FID
WHERE EXISTS (SELECT * FROM dbo.T_MA_PMIds PM WHERE PM.FMATERIALID = MOE.FMATERIALID)
方案二:联查物料表,判断文本数据是否有值
SELECT * FROM dbo.T_PRD_MO MO
LEFT JOIN dbo.T_PRD_MOENTRY MOE ON MO.FID = MOE.FID
LEFT JOIN dbo.T_BD_MATERIAL MA ON MA.FMATERIALID = MOE.FMATERIALID
WHERE MA.F_CPJL IS NOT NULL AND MA.F_CPJL <> ''
最开始有针对生产订单的日期过滤条件,数据量较少,两种方案查询数据库显示速度都是1s,但是后面为了测试SQL速度,去掉日期过滤,查询系统所有数据,这时方案1速度要优于方案2。
sql 查询速度比较
简略需求是 查询某段时间的生产订单数据,但是要过滤掉其中物料基础资料中【产品经理】为空的数据,这个字段是多选基础资料字段,字段表为...
点击下载文档
上一篇:8月12号学习笔记——电子回单打印下一篇:分组与合计
本文2024-09-16 17:25:41发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-15636.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章