Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: bitmap join index error
ageev_at_mail.cir.ru (Misha Ageev) wrote in message news:<877c3c6c.0307180345.2839dbe1_at_posting.google.com>...
> Yes. I develop a text classification system where each category
> is represented by a boolean formulae. I need to select all documents
> that have a given stucture of features, and in reverse all features that
> have a given stucture of documents.
>
> This leads to a boolean queries like those I mentioned.
>
> Currently I use B+tree indexes and I sure the correct bitmap indexes
> can speed up the computation.
>
> Misha.
You want to build a bitmap matrix like this, yes?
| 1 2 3 (doc_id)
1001 | 1 0 0 1002 | 1 1 0 1003 | 0 0 1
If you can build someting like this, it would indeed be very useful
for your queries. I don't think ORACLE currently has any indexing
strategy that can achieve that. This "bitmap matrix index" would need
store 4 types of info. : doc_id, feat_id, yes/no bit, rowid, after
taking table join into considration.
The closest thing is the BJI. But BJI has different construct and is
for different purposes, as you have already found out.
I don't know the full scope of your design and can not say for sure how to boost your query performance. ORACLE "extensible indexing" gives you a way to define your own indexing strategy. I have no experience with it. But you might want to take a look and see if it can help you. Also, materialized join view, like BJI, gives you another way to avoid doing join operation at runtime. Whether or not MV and query rewrite can help will depend on how your queries are written.
![]() |
![]() |