Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> RowID in Oracle Cartridges
Hello All,
I developed a working prototype of a cartridge for Oracle 8.
I used a form of compressed bitsets to build my own custom search
engine.
Briefly : every record in the table receives its unique 32 bit integer
number, which I use as a bitset index. Everything works very fast,
except one little thing.
Inside the cartridge API I am obliged to feed Oracle with ROWIDs.
It means I have to convert my bitsets to integer values and then into
ROWIDs.
I do this using approach with additional disk tables. Needless to say
that this additional level of indirection kills all the performance.
After a certain research I found that ROWID is very redundant thing, because it adresses the whole database. And probably there is a way to convert rowid into one or two 32 bit integers. I suspect that there is a way to create analytical, parameterized function and use it for quick conversion.
So if anybody found an adequate ad-hoc or mathematical way how to do it, please share this knoweledge. :-)
Thanks ! Received on Mon Jul 01 2002 - 19:59:55 CDT
![]() |
![]() |