峰峦@叠嶂 2024-09-03 11:29 采纳率: 97.6%
浏览 6
已结题

请协助优化一下要查询的语句;

请教一下,我做了个小软件,通过在文本框输入药品的小盒码,就可直接显示相关信息,相关数据库的查询语句如下,但有时查询会比较慢,因为有的产品表的数据会很多,请大家看看针对查询语句,是否还能再优化一下,提高一下查询性能,谢谢;

img

 string connectionString = "server=192.168.4.200;database=BCM30_DrugAdmin;user=sa;password=sskyadmin1!";

 string query = @"SELECT code20, batchNo, parentCode, orderCode, customerName, orderType, createTime, updateTime 
             FROM (

             SELECT dr.code20 as code20 ,dr.batchNo as batchNo, dr.parentCode2 as parentCode, wo.orderCode as orderCode ,wd.customerName as customerName,wd.orderType as orderType,wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_193815500501 dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2 )
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 
             WHERE dr.code20 = @Code20 --心可舒96片(注意,这个的大箱码是parentCode2)

             union 

             SELECT dr.code20 as code20 ,dr.batchNo as batchNo, dr.parentCode3 as parentCode, wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime ,wo.updateTime as updateTime FROM  dbo.da_codeRelation_193815500202 dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2, dr.parentCode3)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 
             WHERE dr.code20 = @Code20 --心可舒48union 

             SELECT dr.code20 as code20 ,dr.batchNo as batchNo, dr.parentCode3 as parentCode, wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime ,wo.updateTime as updateTime FROM  dbo.da_codeRelation_193815500402 dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2, dr.parentCode3)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 
             WHERE dr.code20 = @Code20 --心可舒72union 

             SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode2 as parentCode, wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType , wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_191925600201 dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2) 
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 
             WHERE dr.code20 = @Code20 --心可舒胶囊24union 
  
             SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode3 as parentCode , wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_191925600102  dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2,dr.parentCode3)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 

             WHERE dr.code20 = @Code20 ---心可舒胶囊72union 

             SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode3 as parentCode , wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_193815500302 dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2,dr.parentCode3)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 

             WHERE dr.code20 = @Code20-----心可舒异形片0.62                         

             union 
        
             SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode2 as parentCode , wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_922026600101  dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 

             WHERE dr.code20 = @Code20-----脑血疏10*10ML

             union 
  
             SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode2 as parentCode , wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_921996000101  dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 

             WHERE dr.code20 = @Code20---牛黄益金片1:150

             union  
  
             SELECT dr.code20 as code20 ,dr.batchNo as batchNo , dr.parentCode2 as parentCode , wo.orderCode as orderCode,wd.customerName as customerName,wd.orderType as orderType ,wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_921996000102  dr
             JOIN dbo.da_warehouseOutCode wo ON wo.code20 IN (dr.code20, dr.parentCode2)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 

             WHERE dr.code20 = @Code20---牛黄益金片1:200
             
              union 

              SELECT dr.code20 as code20 ,dr.batchNo as batchNo, dr.parentCode2 as parentCode2, wo.orderCode as orderCode ,wd.customerName as customerName,wd.orderType as orderType,wo.createTime as createTime,wo.updateTime as updateTime FROM  dbo.da_codeRelation_922026300101 dr
             JOIN dbo.da_warehouseOutCode wo ON  wo.code20 IN (dr.code20, dr.parentCode2)
             JOIN dbo.bcm_warehouseOrder wd on  wo.orderCode = wd.orderCode 
             WHERE dr.code20 = @Code20 ) as subquery ---抗病毒口服液"; 


  • 写回答

1条回答 默认 最新

  • AitTech 2024-09-03 11:39
    关注

    加索引或者把结果缓存一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月17日
  • 已采纳回答 9月9日
  • 创建了问题 9月3日

悬赏问题

  • ¥20 公众号如何实现点击超链接后自动发送文字
  • ¥15 用php隐藏类名和增加类名
  • ¥15 算法设计与分析课程的提问
  • ¥15 用MATLAB汇总拟合图
  • ¥15 智能除草机器人方案设计
  • ¥15 对接wps协作接口实现消息发送
  • ¥15 SQLite 出现“Database is locked” 如何解决?
  • ¥15 已经加了学校的隶属邮箱了,为什么还是进不去github education?😭
  • ¥15 求会做聚类,TCN的朋友有偿线上指导。以下是目前遇到的问题
  • ¥100 无网格伽辽金方法研究裂纹扩展的程序