c_plan中大概有40萬條記錄 下面這條陳述句是根據輸入的開始結束時刻查詢每月的計劃起飛架次(STD)
但是不知道為什么回應時間很長 有三四分鐘 簡直不能接受 求大神幫忙改進 提高查詢速度 小弟不甚感激 也非常歡迎有其他陳述句
select to_char(TRUNC (add_months(to_date('2015-08-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),(b.no-1)),'mm'),'YYYY-MM') name,
(select count(distinct planid) from c_plan a where (adep ='ZBAA') and
STD BETWEEN TRUNC (add_months(to_date('2015-08-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),(b.no-1)),'mm')
and TRUNC (add_months(to_date('2015-08-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),b.no),'mm')-1/86400 ) as value
from (select level no from dual connect by level <=
(select ceil(MONTHS_BETWEEN(to_date('2016-10-01 23:59:59','YYYY-MM-DD HH24:MI:SS'),to_date('2015-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS')))from dual)) b
uj5u.com熱心網友回復:
表結構是什么樣的,樓主也說一下;uj5u.com熱心網友回復:
其實表還挺長的:
-- 計劃唯一號
planid varchar2(64) ,
-- 添加時間
t_add date default sysdate ,
-- 最后修改時間
t_mod date default sysdate ,
-- 計劃終止/洗掉時間
t_del date ,
-- 計劃號
planno number(6) ,
-- 航班號
acid varchar2(8) ,
-- 起飛機場
adep varchar2(4) ,
-- 降落機場
ades varchar2(4) ,
-- 計劃起飛時間
std date ,
-- 預計起飛時間
etd date ,
-- 實際起飛時間
atd date ,
-- 計劃降落時間
sta date ,
-- 預計降落時間
eta date ,
-- 實際降落時間
ata date ,
-- 實際推出時間
atp date ,
-- COBT
ctp date ,
-- CTOT
ctd date ,
-- TOBT
tobt date ,
-- TSAT
tsat date ,
-- 航空公司輸入準備好時間
ardt date ,
-- 開始滑行時間
tax_time date ,
-- 塔臺給出準備好時間
rdy_time date ,
-- 計劃狀態
status varchar2(4) ,
-- 起飛跑道
rwy_dep varchar2(3) ,
-- 降落跑道
rwy_arr varchar2(3) ,
-- 起降標志
flytype number(1) ,
-- 機型
planetype varchar2(4) ,
-- 尾流
turb varchar2(1) ,
-- 備降機場
altn varchar2(4) ,
-- 注冊號
plane_ident varchar2(10) ,
-- VIP標志
vvip varchar2(1) ,
-- 任務
task varchar(4) ,
-- 國內外屬性
company_country number(1) ,
-- 停機位
gate varchar2(5) ,
-- 翼展
wing varchar(1) ,
-- 可變滑行時間
vtt number(2) ,
-- 大方向
direction number(1) ,
-- 大方向下小方向
dir_detail number(1) ,
-- 離港點
corridor_dep varchar(10) ,
-- 進港點
corridor_arr varchar(10) ,
-- 出界點
point_outer varchar(10) ,
-- 入界點
point_inner varchar(10) ,
-- 對應的流控原因
res_reason number(2) ,
-- 鎖定的CTOT
ctd_lock date ,
-- 第一次CTOT
ctdFPL0 date ,
-- 第一次COBT
ctpFPL0 date ,
-- EOBT前1小時的CTOT
ctdFPL6 date ,
-- EOBT前1小時的COBT
ctpFPL6 date ,
-- EOBT前30分鐘的CTOT
ctdFPL3 date ,
-- EOBT前30分鐘的COBT
ctpFPL3 date ,
-- RDY時的CTOT
ctdRDY date ,
-- RDY時的COBT
ctpRDY date ,
-- 推出時的CTOT
ctdPUSH date ,
-- 推出時的COBT
ctpPUSH date ,
-- LIN時的CTOT
ctdLIN date ,
-- 開始除冰時間
deice_beg date ,
-- 結束除冰時間
deice_end date ,
-- 預計除冰時長
deice_pre number(2) ,
-- 除冰位
deice_pos varchar(10) ,
-- 除冰區
deice_area varchar(10) ,
-- 除冰標志
deice_flag number(1) ,
-- 第一次TSAT
TSAT_first date ,
-- TOBT輸入人員
TOBT_name varchar2(10) ,
-- 等待標志
wait_flag number(1) ,
-- 進入等待池方式
wait_reason number(1) ,
-- 出等待池時刻
wait_outTime date ,
-- 出等待池方式
wait_outType number(1) ,
-- 最小TOBT
tobt_min date ,
-- 最大TOBT
tobt_max date ,
-- 航空公司
company varchar(5) ,
-- 分析出來的原因
delay_10 varchar(4) ,
-- 流量系統判斷出來的原因
delay_11 varchar(4) ,
-- 塔臺給出的原因
delay_12 varchar(4) ,
-- 公司給出的原因
delay_13 varchar(4) ,
-- 前飛航班
prev_planid varchar(64) ,
-- 原始航路
route varchar2(300) ,
-- 決議航路
route_ana varchar2(1024) ,
-- 主航路
route_main varchar(10) ,
-- 輸入TOBT的來源
tobt_type number(1) ,
-- 受限標志
limit_flag number(1) ,
-- 備注
add_msg varchar2(200) ,
-- 最終延誤原因
delay_reason varchar2(4) ,
-- 實際開始登機時間
ASBT date ,
-- 實際關艙門時間
GCTM date ,
-- 實際除冰開始時間
ACZT date ,
-- 實際除冰結束時間
AEZT date ,
-- 到達除冰等待位時間
DIHD date ,
-- 進入除冰位時間
DIIN date ,
-- 滑出除冰位時間
DITO date ,
-- 塔臺原始延誤原因
delay_twr_org varchar2(100) ,
-- 入位時間
t_ove date
uj5u.com熱心網友回復:
把標量子查詢改成連接查詢uj5u.com熱心網友回復:
咋改啊大哥
uj5u.com熱心網友回復:
select to_char(TRUNC (add_months(to_date('2015-08-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),(b.no-1)),'mm'),'YYYY-MM') name,
c.value ,
from (select level no from dual connect by level <=
(select ceil(MONTHS_BETWEEN(to_date('2016-10-01 23:59:59','YYYY-MM-DD HH24:MI:SS'),to_date('2015-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS')))from dual)) b,
(select count(distinct planid) as value from c_plan a where (adep ='ZBAA') and
) c
where c.STD(+) BETWEEN TRUNC (add_months(to_date('2015-08-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),(b.no-1)),'mm')
and TRUNC (add_months(to_date('2015-08-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),b.no),'mm')-1/86400
;
uj5u.com熱心網友回復:
對日期進行了函式處理,很可能導致你日期上的索引失效轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/115054.html
標籤:開發
上一篇:sql查詢問題
