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应该是没有什么好优化的了。
[解决办法]
查看你的执行计划看优化前后的变化