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

sql优化解决思路

2013-01-07 
sql优化表结构:CREATE TABLE OMS.OMS_CAR_SALE_RMT (SHOP_CODECHARACTER(6)NOT NULL,KIND_CODEVAR

sql优化
表结构:
CREATE TABLE "OMS"."OMS_CAR_SALE_RMT" (
  "SHOP_CODE"CHARACTER(6)NOT NULL,
  "KIND_CODE"VARCHAR(10),
  "EMISSIONS"VARCHAR(10),
  "TYPE_CODE"VARCHAR(20),
  "INSIDE_COLOR"VARCHAR(10),
  "OUTSIDE_COLOR"VARCHAR(20),
  "SEND_DATE"TIMESTAMP,
  "RECEIVE_DATE"TIMESTAMP,
  "SALE_DATET0"TIMESTAMP,
  "SALE_DATET2"TIMESTAMP

  IN "OMS_SPACE";

我写的sql:
SELECT SHOP_CODE AS shopCode ,(days (SALE_DATET0) - days (date(RECEIVE_DATE))) AS num    
FROM OMS.OMS_CAR_SALE_RMT WHERE days (SALE_DATET0) > days (date(RECEIVE_DATE))   
AND days (SALE_DATET0) > days(current date - 1 year) 
AND SHOP_CODE = ? ORDER BY num DESC    


这句sql能优化一下吗?执行几千次好慢!  

[解决办法]
建立 冗余字段,
 days (SALE_DATET0) 、 days (date(RECEIVE_DATE))   、
AND days (SALE_DATET0) 、 days(current date - 1 year) 
在字段上建立复合索引试试
[解决办法]
SHOP_CODE, num  建立索引吧。sql应该是没有什么好优化的了。
[解决办法]
查看你的执行计划看优化前后的变化

热点排行