where子句中的列不具有選擇性。他們都在一張單人桌上。另外,使用的表達式不等於,或,IS NULL,IS NOT NULL。主鍵在客戶ID上。我不確定如何避開這類數據。是否有不同的索引方法可以在表格上創建或以其他方式解決問題。我猜想分區對於將表分成大數據的一個主要部分是沒有幫助的。任何想法或解決方法都會有用。正常索引或位圖索引無用時如何避免
爲了方便理解,我將以下數據作爲參考和示例查詢。
樣本查詢
可樂= '適銷對路' 或是可樂是空
師範大學指數:由於OR和NULL操作被忽略。此外,查詢的數據涵蓋了表格中超過95%的數據。 BITMAP索引:由於數據覆蓋率超過96%而被忽略。
示例查詢
COLB = '7' OR COLB = '6' OR COLB = '5'
NORMAL或BITMAP:兩者不有用由於大的數據選擇。優化器使用主鍵cust_id進行全表掃描。
示例查詢
COLC <> '特別部分' OR COLC爲空(因爲這些值可以改變,沒有特定的值被傳遞)
組合示例查詢
NOT(COLB = '6'或colB ='3')和 (colC <>'SPECIAL SEGMENT'或colC爲空)
謝謝你的迴應賈斯汀。你能指導我如何啓用「並行查詢」在數據庫上運行,或者我可以在其中進一步閱讀? – user3090427