sql 查询速度比较

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

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 查询速度比较

简略需求是 查询某段时间的生产订单数据,但是要过滤掉其中物料基础资料中【产品经理】为空的数据,这个字段是多选基础资料字段,字段表为...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息