首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL文优化,该怎么解决

2013-11-15 
SQL文优化select PROD_ID,PROD_NAME,DEPT_ID,SAL_PRICE,STOCK_AMOUNTS,MINI_PO,SPECIFICATION,case 69428

SQL文优化
select PROD_ID,
       PROD_NAME,
       DEPT_ID,
       SAL_PRICE,
       STOCK_AMOUNTS,
       MINI_PO,
       SPECIFICATION,
       case '6942836701321'
         when PROD_BARCODE1 then
          PKG_SIZE1
         when PROD_BARCODE2 then
          PKG_SIZE2
         when PROD_BARCODE3 then
          PKG_SIZE3
         when PROD_BARCODE4 then
          PKG_SIZE4
         when PROD_BARCODE5 then
          PKG_SIZE5
         when PROD_BARCODE6 then
          PKG_SIZE6
       end as PKG_SIZEE
  from ST_Product_Master
 where '6942836701321' in(PROD_BARCODE1,PROD_BARCODE2,PROD_BARCODE3,PROD_BARCODE4,PROD_BARCODE5,PROD_BARCODE6)
帮忙看看这段sql怎么能优化下,提高SQL的运行速度? sql 优化
[解决办法]
 where '6942836701321' in(PROD_BARCODE1,PROD_BARCODE2,PROD_BARCODE3,PROD_BARCODE4,PROD_BARCODE5,PROD_BARCODE6)

'6942836701321' 这个是列名?????
[解决办法]
改成这样试试:





select PROD_ID,
       PROD_NAME,
       DEPT_ID,
       SAL_PRICE,
       STOCK_AMOUNTS,
       MINI_PO,
       SPECIFICATION,
       case '6942836701321'
         when PROD_BARCODE1 then
          PKG_SIZE1
         when PROD_BARCODE2 then
          PKG_SIZE2
         when PROD_BARCODE3 then
          PKG_SIZE3
         when PROD_BARCODE4 then
          PKG_SIZE4
         when PROD_BARCODE5 then
          PKG_SIZE5
         when PROD_BARCODE6 then
          PKG_SIZE6
       end as PKG_SIZEE
  from ST_Product_Master
 where PROD_BARCODE1 = '6942836701321' or 
       PROD_BARCODE2 = '6942836701321' or 
       PROD_BARCODE3 = '6942836701321' or
       PROD_BARCODE4 = '6942836701321' or
       PROD_BARCODE5 = '6942836701321' or
       PROD_BARCODE6 = '6942836701321'
 

[解决办法]
引用:
Quote: 引用:

改成这样试试:





select PROD_ID,
       PROD_NAME,
       DEPT_ID,
       SAL_PRICE,
       STOCK_AMOUNTS,
       MINI_PO,
       SPECIFICATION,
       case '6942836701321'
         when PROD_BARCODE1 then
          PKG_SIZE1
         when PROD_BARCODE2 then
          PKG_SIZE2
         when PROD_BARCODE3 then
          PKG_SIZE3
         when PROD_BARCODE4 then
          PKG_SIZE4


         when PROD_BARCODE5 then
          PKG_SIZE5
         when PROD_BARCODE6 then
          PKG_SIZE6
       end as PKG_SIZEE
  from ST_Product_Master
 where PROD_BARCODE1 = '6942836701321' or 
       PROD_BARCODE2 = '6942836701321' or 
       PROD_BARCODE3 = '6942836701321' or
       PROD_BARCODE4 = '6942836701321' or
       PROD_BARCODE5 = '6942836701321' or
       PROD_BARCODE6 = '6942836701321'
 


我之前用的就是 OR , 然后换成的in


对了 你这个语句,需要运行多久,才能出结果呢

热点排行