读书人

SQL文优化,该怎么解决

发布时间: 2013-11-15 22:28:15 作者: rapoo

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


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

读书人网 >SQL Server

热点推荐