欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql优化解决思路

更新时间: 2014-01-05 02:24:06 责任编辑: Author_N1

 

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应该是没有什么好优化的了。
--参考方法--
查看你的执行计划看优化前后的变化
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:24:06
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/9385/
本文WWW.DOC100.NET DOC100.NET版权所有。