Types of Oracle indexes

Can some one explain what all are the types of indexes in Oracle

Hi,
In short there are only 2 types
1)B-tree indexes
2)Bitmap indexes
These 2 types are subdivided as follows:
*1)B-tree indexes*
These indexes are the standard index type. They are excellent for primary key and highly-selective indexes. Used as concatenated indexes, B-tree indexes can retrieve data sorted by the indexed columns. B-tree indexes have the following subtypes:
*Index-organized tables
An index-organized table differs from a heap-organized because the data is itself the index.
*Reverse key indexes
In this type of index, the bytes of the index key are reversed, for example, 103 is stored as 301. The reversal of bytes spreads out inserts into the index over many blocks.
*Descending indexes
This type of index stores data on a particular column or columns in descending order.
*B-tree cluster indexes
This type of index is used to index a table cluster key. Instead of pointing to a row, the key points to the block that contains rows related to the cluster key.
*2)Bitmap indexes:*
•Bitmap and bitmap join indexes
In a bitmap index, an index entry uses a bitmap to point to multiple rows. In contrast, a B-tree index entry points to a single row. A bitmap join index is a bitmap index for the join of two or more tables.
*Function-based indexes
This type of index includes columns that are either transformed by a function, such as the UPPER function, or included in an expression. B-tree or bitmap indexes can be function-based.
*Application domain indexes
This type of index is created by a user for data in an application-specific domain. The physical index need not use a traditional index structure and can be stored either in the Oracle database as tables or externally as a file.
Best regards,
Rafi.
http://rafioracledba.blogspot.com/

Similar Messages

  • About Oracle Indexes

    Hi All,
    Would like to know about the following:
    1) Different types of Oracle indexes.
    2) Comparison of the indexes by performance. (Which index is better suited in what situation?)
    Thanks

    Yeah... Jason, not sure what you expect from this forum on a topic that is so broad. No-one is interested is spending large amounts of their free time typing up long and detailed explanations on such a vast subject like types of indexes, performance comparisons between indexes, etc.
    As Eric indicated - read the manuals. Then ask detailed and specific questions in the forum about something that is unclear.

  • How to index ORDSYS.orddoc type using Oracle Text?

    Dear All,
    I am very new to Oracle Text and Oracle intermedia ORDSYS.orddoc type.
    As what I know it is impossible to index ORDSYS.orddoc using Oracle Text, so
    may I know is there anyway alternative to index ORDSYS.orddoc type using Oracle Text?
    I am using ORDDOC type due to my application need to allow user to upload various type of media file such as audio, video, word document etc...
    Please help as I need it to do full text search for those uploaded document, thanks in advanced.
    Best Regards,
    Chin

    Dear All,
    I am very new to Oracle Text and Oracle intermedia ORDSYS.orddoc type.
    As what I know it is impossible to index ORDSYS.orddoc using Oracle Text, so
    may I know is there anyway alternative to index ORDSYS.orddoc type using Oracle Text?
    I am using ORDDOC type due to my application need to allow user to upload various type of media file such as audio, video, word document etc...
    Please help as I need it to do full text search for those uploaded document, thanks in advanced.
    Best Regards,
    Chin

  • JBO-27021: Failed to load custom data type value at index 1

    I have an adf table and an adf form in a jspx page. Well, the function of it is pretty basic CRUD. During our testings, we seem to have no problem at all but after deploying it to our remote server, we've been getting this error every time we delete the 'first' record in the table. We tried deleting other records and it worked perfectly fine. This is the first time we've encountered an error like this and we don't really know how to debug this, since it's working fine locally. Any help would be appreciated. Thanks!
    here's the pop-up error after trying to delete the first record
    JBO-27021: Failed to load custom data type value at index 1 with java object of type oracle.jbo.domain.Number due to java.sql.SQLException.
    I'm using jdev 11g and the latest webLogic server

    I have a similar problem,
    I have a VO with a query of the form: "SELECT d.campoUno, d.campoDos, sum(d.campoTres) as campoTres FROM TablaUno d
    WHERE <conditions>
    GROUP BY d.campoUno, d.campoDos",
    to modify the query for "SELECT d.campoUno, d.campoDos, *d.campoCuatro*, sum(d.campoTres) as campoTres FROM TablaUno d
    WHERE <conditions>
    GROUP BY d.campoUno, d.campoDos, *d.campoCuatro*"
    throws an exception: "javax.faces.el.EvaluationException: oracle.jbo.AttributeLoadException: JBO-27021: Failed to load custom data type value at index 16..............Caused by: java.sql.SQLException: Invalid column index
    The attribute was added well in xml definitions.
    I use JDeveloper 11.1.1.4.0
    any suggestions?

  • PL/SQL Object Type - Java oracle.jbo.domain

    PL/SQL Object Type <-> Java oracle.jbo.domain
    can anybody help me, getting my domains to work?
    Following scenario:
    in pl/sql we have an object type called MULTI_LANGUAGE. This type is used for storing multilingual texts as nested table in one(!) column.
    So the object MULTI_LANGUAGE contains a member variable LANGUAGE_COLLECTION of type LANGUAGE_TABLE, which itself is a nested table of objects
    of the type LANGUAGE_FIELD (this again is only a language id and the corresponding content)
    Also the methods setContent(langID, langContent) and getContent(langId) are defined on Object MULTI_LANGUAGE.
    For example: Table having primary key, 2 other columns and one column of object type MULTI_LANGAGE (=nested table of objects)
    |ID|Column1|Column2|  multilingual Column  |
    |--|---------------------------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | hello         | |
    |  |       |       |  -------------------  |
    |1 | foo   | bar   | | 2 | hallo         | |   <- Row Nr 1
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ola           | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | world         | |
    |  |       |       |  -------------------  |
    |2 | abc   | def   | | 2 | welt          | |   <- Row Nr 2
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ???  ;-)      | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|Now i've tried to modell this structure as an oracle.jbo.domain.
    class MultiLanguage extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("LanguageColl", "LANGUAGE_COLL", 0, oracle.jbo.domain.Array.class, 2003, "ARRAY", -127, 0, false, "campusonlinepkg.common.LanguageField");
    and
    class LanguageField extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("Id", "ID", 0, oracle.jbo.domain.Number.class, 2, "NUMERIC", -127, 0, false);
    attrs[(1)] = new DomainAttributeDef("Content", "CONTENT", 1, java.lang.String.class, 12, "VARCHAR", -127, 4000, false);
    Is there anything wrong with this StructureDef?
    When running the BC-Browser with -Djbo.debugoutput=console -Djbo.jdbc.driver.verbose=true parameters I get suspect warnings when browsing the records
    [196] Executing FAULT-IN...SELECT NR, NAME FROM B_THESAURI BThesauri WHERE NR=:1
    [197] SQLException: SQLState(null) vendor code(17074)
    [198] java.sql.SQLException: Ungültiges Namensmuster: XMLTEST.null
    ...snip: detail of stack...
    [240] SQLException: SQLState(null) vendor code(17060)
    [241] java.sql.SQLException: Deskriptor konnte nicht erstellt werden: Unable to resolve type "null"
    ...snip: detail of stack...
    [280] Warning:No element type set on this array. Assuming java.lang.Object.
    (XMLTEST is the name of the schema)
    Seems as if the framework can't read the TypeDescriptor or does not know which descriptor to read (XMLTEST.null??)
    Do I have to implement my own JboTypeMap?
    Please help, I'm stuck.
    Thanks in advance, Christian

    Thanks for your suggestion, but it seems to me as if there is one level missing.
    in pl/sql I have following structure:
    Struct MULTI_LANGUAGE (Object type) - outermost
      Array LANGUAGE_TABLE (nested table type)
        Struct LANGUAGE_FIELD (Object type simple) - innermostthe reason why i had to wrap another struct around the array was because it is not possible to define methods on a nested table. this is only possible on objects.
    on the outermost object type (which holds the array of language fields) I needed to define following 2 methods for direct access:
    getContent (langId in number) returns varchar2
    setContent (langId in number, langContent in varchar2)
    I would like to rebuild the same structure in java, because newly written java code should live in perfect harmony with legacy pl/sql code ;-)
    Both applications (Java and pl/sql) have to access the same data as long as migration to java goes on.
    Is this nested structure too much for a Domain?
    Any other suggestions?
    Thanks again, Christian

  • What is the best way of insertion using structured or binary type in oracle

    what is the best way of insertion using structured or binary type in oracle xml db 11g database

    SQL*Loader.

  • Pdf file stored as BLOB data type on Oracle

    I store PDF file as BLOB data type on Oracle. There are cases
    where I get multiple records from the database, that means I get
    multiple PDF files. They have to be merged and displayed on the web
    page. I tried CFContent which can display only one PDF file at a
    time but not more than one, whereas cfdocument is having problem
    converting binary data to string. I am kind of stuck.
    Can you anybody please help me out? Please let me know if you
    have any questions or this does not make sense to you.
    Thank you in advance.

    BALAJI_JAY wrote:
    > Can you anybody please help me out? Please let me know
    if you have any
    > questions or this does not make sense to you.
    if by "merge" you mean 3 pdf into 1 pdf, try cfpdf (if on
    cf8) or see this
    thread if cf version less than 8:
    http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=1&catid=7&threadid=11 14635&messageid=4032202

  • How to read char() for bit data DB2's type in Oracle?

    Hello,
    I am developing an application (from JDeveloper) to operate with two data base. In one hand threre is Oracle and in the other one DB2 (AS400).
    I am trying to read a DB2'sfield with the "char() for bit data" type from Oracle, but I can't read it.
    I have trying:
    rset.getObject(1) -->[B@1a786c3
    rset.getBinaryStream(1) --> java.io.ByteArrayInputStream@1a786c3
    rset.getAsciiStream(1) --> java.io.ByteArrayInputStream@2bb514
    rset.getCharacterStream(1) -->java.io.StringReader@1a786c3
    Do you have any solution to see the value of this type of field?
    Thank you and regards

    I have to synchronize unidirectionally from the Oracle database to DB2. And I'd like to save the information of the record of DB2 prior to the update operation.
    And here is where the problem arises for me, because when I try to read from Java with the connection established on DB2 is unable to interpret the information. While there are no problems from Oracle to consume the information, it happens that DB2 field types are not common with Oracle, such as char () for bit data. From what I could find the equivalent in Oracle would be raw (), but since Java is possible to read this type of information... And this is my doubt, it is necessary to do any type of cast or to do a special view to retrieve this information?

  • How to read an Oracle index by in Java

    Hi All,
    Could anyone help me, how can I use JDBC to read the contents of an Oracle index-by table. I am preparing this Oracle array in a procedure, which I need to send as an out parameter.
    A code segment will be highly appreciated.
    Thanx in advance.
    Regards,
    Dushyant

    I GOT IT!... I did not notice the "]" at the end. Crazy!!!!

  • Is there a auto-increment data type in Oracle

    Is there a auto-increment data type in Oracle ?
    How to do it if there is no auto-increment data type in Oracle ?
    null

    jackie (guest) wrote:
    : Is there a auto-increment data type in Oracle ?
    : How to do it if there is no auto-increment data type in Oracle
    Hi,
    I think you need unique ID's, for this purpose you use sequences
    in Oracle. Example:
    create table xy (
    id number,
    name varchar2(100)
    alter table xy
    add constraint xy_pk primary key(id);
    create sequence xy_seq start with 1 maxvalue 99999999999;
    (there are many other options for create sequence)
    create or replace trigger xy_ins_trg
    before insert on xy
    for each row
    begin
    select xy_seq.nextval
    into :new.id
    from dual;
    end;
    This produces a unique value for the column id at each insert.
    Hope this will help.
    peter
    null

  • Cannot get the correct data type in Oracle JDBC

    Dear ALL:
    I used JDBC ResultSetMetaData to get the column data type for Oracle Database. I created a table including 2 columns AAA, which is NUMBER type, BBB which is FLOAT type.
    However, I found a problem that either NUMBER or FLOAT data types are reported as NUMBER type in JDBC.
    IN SQL 2000, it is okay. SMALLINT, INT, TINYINT, etc..can be reported correctly.
    Can anybody tell me that what's wrong here? I will be very appreciated.

    hi,
    i guess its a bug which is fixed with 10i.
    Elango.

  • Bea and nvarchar2 data type in oracle

    Does weblogic server supports nvarchar2 data type in Oracle?..
    I use CMP with java data type String mapped to nvarchar2 data type to oracle.when
    i try to create a bean it throws "java.sql.SQLException: ORA-12704: character set
    mismatch". Is there any configuration in the server to set the character set?..
    can anyone help me on this?...

    Does weblogic server supports nvarchar2 data type in Oracle?..
    I use CMP with java data type String mapped to nvarchar2 data type to oracle.when
    i try to create a bean it throws "java.sql.SQLException: ORA-12704: character set
    mismatch". Is there any configuration in the server to set the character set?..
    can anyone help me on this?...

  • XML Data Type in oracle

    I am a developer in .NET with having experience working on SQL server.
    I want to know whether there is an xml data type in oracle.
    I have an xml in my front end and want to insert record in the database for the values inside that xml. What i am doing currently is that i am retreiving the value in the xml in the .NET code and passing the values a parameter to a stored procedure in oracle. what i want to do is to pass the xml directly to stored procedure in oracle and retrieve the values there (using Xquery) and insert the records.
    This is possible with SQL server 2005. I want to know is this possible with Oracle.
    Thanks and regards,
    Sameer J Narkar

    Wonderful - a documentation question!
    You will find your answer by going to the general documentation portal at http://tahiti.oracle.com following the path to the database version of interest, and looking in the SQL Reference manual. Chapter 2 discusses all data types, including the several supported for XML.
    In addition, under the 'Books' tab, there are several XML-developer specific reference manuals.
    (Oracle's support for XML generally blows away the others. The price for the extreme flexibility is an ease-of-use hit.)
    Message was edited by:
    Hans Forbrich
    removed the punctuation from the displayed URL which resulted in an automatically included trailing comma.

  • BOOLEAN  data type in oracle is it there?

    is there any data type in oracle which stores BOOLEAN data?

    >
    There are inevitably problems with three-valued logic. To be consistent with the 3VL world of SQL one would expect a 3 value logical type (not strictly a "boolean" type at all). The standard chose not to do that and opted for just TRUE and FALSE with NULL as a sort of substitute for the third value. That in itself creates some logical conundrums but it's probably impossible to come up with any system that makes sense of SQL's 3VL. Probably that's why most DBMS vendors leave it out.
    >
    No problem. Just define it as NOT NULL and you will have traditional 2VL Boolean algebra.

  • ....Date Type in Oracle

    Hi All,
    Just to clear a few misconception/ambiguities regarding the DATE data type in Oracle.
    We hve a table which stores the date of insertion of a record. The front end application is in PHP while backend is in oracle.
    When i query the table, it shows the date as dd-mon-yy , but it does not show the time. I have tried to query it throgh sqlPLus , TOAD and the PHP Application, but it doesnt show the time.
    Is it not storing the time. The data type of the column is ( Insertdate date).
    If you query sysdate, it definitly stores time, ... but what is in this case. Is it just storing the date and not the time. ???
    How to alter so that it stores time as well.
    Regards

    U have to use the conversion function to_date to
    store date along with time. No, you use to_date to convert a string to a date. That's it. A date column will ALWAYS store the time (it just won't always display it)
    When u need to retrieve the data use to_char function. Not necessarily:
    SQL> create table x (dte date);
    Table created.
    SQL> insert into x values(sysdate);
    1 row created.
    SQL> insert into x values(sysdate+1);
    1 row created.
    SQL> select * from x;
    DTE
    11-jul-2007 09:13:11
    12-jul-2007 09:13:11
    if u want to store time u can use timestamp data typeNope, You use timestamp if you want to store fractions of seconds (down to nano seconds)
    The key point is. The date datatype ALWAYS stores:
    Century, Year, Month, Day, Hour, Minute, Second

Maybe you are looking for

  • Weaknesses I've come across in the Oracle XML/XSL implementation

    Weaknesses I've come across in the Oracle XML/XSL implementation NOTE: I think Oracle is a fantastic database and the XML implementation is lovely to use - also I know these are not limited to XE and also that some are fixed in 11g enterprise however

  • Creating link on report elements to get more info

    Hello, I have created a data model in BI publisher which integrates two data models one from BI Answser (a query ) and One from source data (a table) I have linked an element on the BI Answer data model to the corresponding lement in the source table

  • Unstable firewire hard drives performance in 220 volts countries

    Over the years, I often travel back and forth to the US, Asia and Europe with my MacBook Pro and external firewire hard drives, which were purchased in the USA.  While in Europe or Asia, which generally runs on ~220 volts, I've had several experience

  • What is a good partition size

    I am bootcamping because I want to play games. I want to play games on the windows partition and work on the mac partition but I am unsure of the partition sizes I should use. please help

  • Adobe Flash shared objects disabled

    On or about 11-4-2013 I was trying to access the television company channel ABC and I kept receiving the following message:"Adobe Flash shared objects disabled)" The help desk sent on 11-8-2013 a response as to how I should fix the problem.  Unfortun