我的火鳥查詢中有索引問題。我的火鳥查詢計劃沒有使用正確的索引
以下是我的查詢。
SELECT a.objid,
b.running_qty,
b.running_qty2,
b.running_totalcost,
b.running_lastcost
FROM mm_itrghd a,
mm_itrgdt b
WHERE (a.objid = b.header_id)
AND (b.item_id = 1200)
AND (b.wh_id = 1)
AND ((a.postdate < '2010-09-05 00:00:00') OR ((a.postdate = '2010-09-05 00:00:00') AND (a.objid < 50000)))
ORDER BY a.postdate desc,
a.objid desc,
b.calctyp desc,
b.objid desc
正如你所看到的,按部分順序,我們使用desc。我有一個降序索引,但我的查詢計劃沒有使用它。 它只使用索引表A(a.objid)和表B(b.item_id,b.wh_id) 有沒有我錯過了?你認爲我應該創建什麼樣的索引?
索引表A(mm_itrghd)
(TR_CODE,DOC_ID)升序 (OBJID)升序 (TR_CODE)升序 (踵)升序 (踵,OBJID)升序 (踵,OBJID)降序
索引表B(mm_itrgdt)
(HEADER_ID)升序 (ITEM_ID)升序 (WH_ID)升序 (LOT_NO)升序 (SERIAL_NO,ITEM_ID)升序 (HEADER_ID,ITEM_ID,WH_ID,SERIAL_NO,LOT_NO)升序 (HEADER_ID,ITEM_ID,WH_ID)升序 (CALCTYP,OBJID)升序 (ITEM_ID,WH_ID)升序 ( CALCTYP,OBJID,ITEM_ID,WH_ID)升序 (CALCTYP,OBJID)降序 (OBJID,ITEM_ID,WH_ID)降序 (OBJID)降序
預先感謝
問候, Reynaldi
我知道這聽起來很輕佻,卻苦於您請重新格式化您的SQL,以便它更具可讀性(縮進,因此顯示爲「代碼」)。另外,請說明您使用的索引符號是什麼意思 - 我不清楚爲什麼你有一些字段分組,有些沒有(我不是火鳥專家,所以如果我問一些明顯的問題,請原諒我)。或者更好的是使用標準的CREATE INDEX語法。 –
你使用的工具如IBExpert或Database Workbench? –