Bitmap Filter มีประโยชน์ก็ต่อเมื่อ Selective Query Optimizer ตัดสินใจว่า Optimized Bitmap Filter Selective พอที่จะช่วยได้ และจะใช้กับ Operators ไหน Optimizer วาง Optimized Bitmap Filters บนทุก Department ของ Star Join และใช้ Costing Rules ตัดสินใจว่า Plan ให้ Estimated Execution Cost ต่ำสุด
เมื่อ Optimized Bitmap Filter ไม่ Selective Cost Estimate จะสูงเกินไปและ Plan ถูก Reject เมื่อพิจารณาว่าจะวาง Optimized Bitmap Filters ที่ไหนใน Plan Optimizer มองหา Hash Join Variants ที่มี Right-deep Stack ของ Hash Joins Joins กับ Dimension Tables ทำเพื่อ Execute Most Selective Join ก่อน
Operator ที่ใช้ Optimized Bitmap Filter มี Bitmap Predicate ในรูปแบบ PROBE ([Opt_Bitmap1001], {[column_name]} [, 'IN ROW']) Bitmap Predicate รายงานข้อมูลต่อไปนี้:
Bitmap Name ที่สัมพันธ์กับชื่อที่ Introduce ใน Bitmap Operator Prefix 'Opt_' บ่งชี้ว่าใช้ Optimized Bitmap Filter
Column ที่ Probe ตรงข้าม นี่คือ Term ที่ Filtered Data ไหลผ่าน Tree
ว่ Bitmap Probe ต้องการ In-row Optimization หรือไม่ ถ้าใช่ Bitmap Probe ถูก Invoke ด้วย IN ROW Parameter มิฉะนั้น Parameter นี้หายไป
ข้อกำหนดของ Optimized Bitmap Filtering
Fact Tables คาดว่าจะมีอย่างน้อย 100 Pages Optimizer จัดการ Smaller Tables เป็น Dimension Tables
พิจารณาเฉพาะ Inner Joins ระหว่าง Fact Table และ Dimension Table
Join Predicate ระหว่าง Fact และ Dimension Table ต้องเป็น Single Column Join แต่ไม่จำเป็นต้องเป็น Primary-Key-to-Foreign-Key Relationship เลือก Integer-based Column
Joins กับ Dimensions พิจารณาเมื่อ Dimension Input Cardinalities น้อยกว่า Input Cardinality จาก Fact Table
Bitmap Filtering และ Optimized Bitmap Filtering Execute ใน Query Plan โดยใช้ Bitmap Show Plan Operator Bitmap Filtering ใช้เฉพาะใน Parallel Query Plans ที่ใช้ Hash หรือ Merge Joins Optimized Bitmap Filtering เกี่ยวข้องเฉพาะ Parallel Query Plans ที่ใช้ Hash Joins
ในทั้งสองกรณี Bitmap Filter สร้างบน Build Input (Dimension Table) Side ของ Hash Join แต่ Filtering จริงทำภายใน Parallelism Operator อยู่บน Probe Input (Fact Table) Side ของ Hash Join เมื่อ Join ใช้ Integer Column Filter สามารถ Apply ตรงไปที่ Original Table หรือ Index Scan Operation แทน Parallelism Operator เทคนิคนี้เรียกว่า In-row Optimization