Does BI 7.0 use bit map join indexes?

I have seen several threads on SDN which show that SAP BI is using bit map indexes with Oracle database. However, it is not clear whether BI utilizes bit map join indexes or just bit map index. Bit map index is on a single table whereas bitmap join index is on a join of two or more tables.
It will make sense for SAP BI to use bit map join indexes with star transformations where a join is done among fact and dimension tables.

> Thanks. Another question, are bit map indexes used both for F and E fact tables or just for F. I am not using real-time cubes (where SAP BI uses B-Tree indexes for F table to avoid dead locks).
Why don't you simply check this in your BI system yourself?
And, yes, of course it uses bitmap indexes for both fact table types.
E-fact tables are the same as F-Facttables except that they contain the compressed/rolled up data.
regards,
Lars

Similar Messages

  • Bit Map Join Index Creation

    Hi,
    I have a db of version 10.2.0.3 on a Unix box. This is used for DW.
    I have a dbms job which is basically creates 6 bit map join indexes between two tables parallelly. One of the table (Fact table) has almost 170 million data and the other one (Dimension table) has 1.2 million data. Fact table is partioned and the indexes are local index.
    For the last couple of days, this job is taking almost 70+ minutes whereas previously, it used to take around 44 to 48 minutes.
    My pga_aggregate_size is 50GB and temp tablespace size is 33GB.
    Per day 1 million data gets populated in the Fact table.
    It used to run fine earlier. One fine morning we found this performance issue.
    It will be really helpful, if we get some suggesstion about the tuning options.
    Regards,
    Soumyajit

    Jeet wrote:
    I have a db of version 10.2.0.3 on a Unix box. This is used for DW.
    I have a dbms job which is basically creates 6 bit map join indexes between two tables parallelly. One of the table (Fact table) has almost 170 million data and the other one (Dimension table) has 1.2 million data. Fact table is partioned and the indexes are local index.
    For the last couple of days, this job is taking almost 70+ minutes whereas previously, it used to take around 44 to 48 minutes.
    My pga_aggregate_size is 50GB and temp tablespace size is 33GB.
    Per day 1 million data gets populated in the Fact table.
    It used to run fine earlier. One fine morning we found this performance issue.
    It will be really helpful, if we get some suggesstion about the tuning options.Soumyajit,
    since you probably don't have suitable data available from those runs (by "data" I mean e.g. SQL traces with row source operation statistics, wait event information and number of I/Os etc.) where it used to be faster it's going to be hard to tell where the difference comes from since there are many possibilities.
    If really nothing else has changed apart from the data volume then one possible explanation could be that the join operation that is required to populate the bitmap join index switched from e.g. single pass to multi-pass due to the increased data volume.
    Another explanation could be that one of the tables used to be cached in the buffer cache (small table threshold) but has now exceeded the default 2% limit for cached table scans and therefore requires more physical I/O than previously.
    But there is a multitude of other possibilities starting from changes to the software/hardware (patches to Oracle, O/S, storage etc.), concurrent processes running at the same time, changes to the logging attributes of the tablespace/database, different execution plan due to statistics change, ASMM automatic cache buffer shrinkage etc. etc.
    It definitely makes sense to trace the execution now to have that information available, furthermore you could try to check if the usage of the TEMP tablespace has increased in comparison to previous runs which could indicate above mentioned switch to a less efficient pass mode of the join.
    Can you pinpoint already if only particular bitmap join indexes take longer than before or all six are slower than before?
    Do I understand this correctly, that you run six jobs in parallel to create the indexes, or is it one job that runs the create index statements one after the other?
    And do you use the PARALLEL DDL option to create each individual index? What about LOGGING/NOLOGGING?
    By the way, what is reason that you rebuild the indexes every day? Is this after a load into a particular partition to rebuild the indexes of that partition after the data load? Or is it a rebuild of all partitions?
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • BIT MAP & BTREE INDEX

    Hi Friends,
    How to create the bitmap index? Pls given the syntax
    When should we create the Btree index?
    Given one example btree index
    regs
    renga

    Hi Vinas,
    generally bitmap is not good for data on which u are making dml operations. Since there are lock issues and index size issues.
    1) lock issues bitmap index has different structre than b-tree one. There are flag, lock byte, value, start rowid, end rowid and bitmap in your index entry. So when you change one bitmap you have to lock all rows in your row id's range. In btree you lock just one row.
    2) when you update index u mark one entry as deleted and create new one with new value. When you look on structure described in point 1) you get know that index entry could be quite big (generally bigger than index entry for btree index). So this is the way how your bitmap index can growth.
    Both these points are really dangerous from the point of view of performance and it's reason why it's not good idea use bitmap index on columns with dml activity.
    Jakub.

  • Bit Map index in DW application

    Hi
    I have a DW database having a table contains 9 million records. Normally for DW application bit map index is preffered if the cardinality is low.
    I want to create an index on one of the column having the cardinality is about millions, so which index is preferrable?. If I go with normal indexing any performance degradation will be happen for the application? or if I used bit map indexing any improvement will be there?
    Many thanks

    I would go for normal index, there is a certain additional load when inserting, updating, deleting, but in that case a bitmapped index wouldn't be good idea anyway.

  • Bitmap Join Index Exclusions

    Hi,
    I have come across the following statement in some of the oracle Db related forums
    'For queries that have additional criteria in the WHERE clause that doesn't appear in the bitmap join index, Oracle9i will be unable to use this index to service the query.'
    Does this stand good for oracle 11gr2 also?

    Here is two good articles about bitmap join indexes,
    http://articles.techrepublic.com.com/5100-10878_11-1051931.html
    http://www.lorentzcenter.nl/awcourse/oracle/server.920/a96520/indexes.htm
    Bitmap Join Indexes have the following restrictions:
    1. Parallel DML is currently only supported on the fact table. Parallel DML on one of the participating dimension tables will mark the index as unusable.
    2. Only one table can be updated concurrently by different transactions when using the bitmap join index.
    3. No table can appear twice in the join.
    4. You cannot create a bitmap join index on an index-organized table or a temporary table.
    5. The columns in the index must all be columns of the dimension tables.
    6. The dimension table join columns must be either primary key columns or have unique constraints.
    7. If a dimension table has composite primary key, each column in the primary key must be part of the join.
    Thanks

  • Bitmap Join Indexes Still Causing Problems

    Hello again,
    I thought I had fixed this problem in a previous post, but it turns out I was incorrect. Once again, there is an issue with bitmap join indexes in Oracle 10g EE. I'm getting an empty result when I shouldn't be. Below I've pasted the output of a SQL session to illustrate the point, but here's a summary of what's in the trace:
    I run a query and get an empty result. Then I drop a bitmap join index and re-run the query and get a result. Then I recreate the bitmap join index and run the same query again, but get an empty result. Then I show the explain plan for the query.
    This is clearly wrong behavior, so I'm wondering if there are any restrictions, perhaps not well documented, on when it's ok to use bitmap join indexes. For example, what's the maximum length allowed on a varchar field that the bitmap index is on? Is there some cardinality threshold? I'm aware that bitmap indexes are intended for columns with low cardinality, but even if that's not the case, it shouldn't affect the correctness of the result, only the computation time. Does anyone have an idea of what exactly is going wrong here? Do I have any chance of fixing it?
    Trace follows:
    SQL*Plus: Release 10.2.0.3.0 - Production on Tue May 5 02:07:50 2009
    Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL> SELECT 
      2     o1.lex as label,
      3     o2.lex as "comment",
      4     o4.lex as producer
      5  FROM
      6     bmTriples250K t1, bmsNodes250K s1, bmpNodes250K p1, bmoNodes250K o1,
      7     bmTriples250K t2, bmpNodes250K p2, bmoNodes250K o2,
      8     bmTriples250K t3, bmpNodes250K p3,
      9     bmTriples250K t4, bmpNodes250K p4, bmoNodes250K o4
    10  WHERE
    11     t1.s = s1.hash
    12     and t1.p = p1.hash
    13     and t1.o = o1.hash
    14     and s1.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer9/Product399'
    15     and p1.lex = 'http://www.w3.org/2000/01/rdf-schema#label'
    16     and t1.s = t2.s 
    17     and t2.p = p2.hash
    18     and t2.o = o2.hash
    19     and p2.lex = 'http://www.w3.org/2000/01/rdf-schema#comment'
    20     and t1.s = t3.s
    21     and t3.p = p3.hash
    22     and p3.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/producer'
    23     and t3.o = t4.s
    24     and t4.p = p4.hash
    25     and t4.o = o4.hash
    26     and p4.lex = 'http://www.w3.org/2000/01/rdf-schema#label';
    no rows selected
    SQL>
    SQL> DROP INDEX BMSJOINNODES250K;
    Index dropped.
    SQL> SELECT 
      2     o1.lex as label,
      3     o2.lex as "comment",
      4     o4.lex as producer
      5  FROM
      6     bmTriples250K t1, bmsNodes250K s1, bmpNodes250K p1, bmoNodes250K o1,
      7     bmTriples250K t2, bmpNodes250K p2, bmoNodes250K o2,
      8     bmTriples250K t3, bmpNodes250K p3,
      9     bmTriples250K t4, bmpNodes250K p4, bmoNodes250K o4
    10  WHERE
    11     t1.s = s1.hash
    12     and t1.p = p1.hash
    13     and t1.o = o1.hash
    14     and s1.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer9/Product399'
    15     and p1.lex = 'http://www.w3.org/2000/01/rdf-schema#label'
    16     and t1.s = t2.s 
    17     and t2.p = p2.hash
    18     and t2.o = o2.hash
    19     and p2.lex = 'http://www.w3.org/2000/01/rdf-schema#comment'
    20     and t1.s = t3.s
    21     and t3.p = p3.hash
    22     and p3.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/producer'
    23     and t3.o = t4.s
    24     and t4.p = p4.hash
    25     and t4.o = o4.hash
    26     and p4.lex = 'http://www.w3.org/2000/01/rdf-schema#label';
    LABEL
    comment
    PRODUCER
    surcharged rekindles wireworm
    shimmery colures stockpiles pipetted globes majuscule gaggled crypto poisonously
    corrosively explanted unaccepted chippewas filmsets clocks fluctuating vindicat
    or emeerate impending duffle werwolves fishers manumissions luxuriance centavos
    lumping cancan begrimes cheerer bustards influxes frogfishes peevishly photosphe
    rically expropriating udder authored styleless idyl collards foreknow balkers ch
    ews damner hawknoses onerosities macs araks seines pawl physiques readers recoil
    LABEL
    comment
    PRODUCER
    monstrosities penes choiring hydrocephalies familiarity lumberers ricked offbea
    ts weightlessness weakness synergist stained mouthpieces brakes gnarlier twittin
    g draper misarranges misinterpretations japanner runout carbonates catalepsy enf
    eoffing engined pallor partitioning pseudoartistic resistances wideness teacakes
    payers profferers dolts conceited scrunches thickener relishable heehawed greys
    transparency durableness pandemics finable groomers heirships
    ethicians fondler turks
    LABEL
    comment
    PRODUCER
    SQL>
    SQL> CREATE BITMAP INDEX BMSJOINNODES250K
      2  ON BMTRIPLES250K(BMSNODES250K.LEX)
      3  FROM BMTRIPLES250K, BMSNODES250K
      4  WHERE BMTRIPLES250K.S = BMSNODES250K.HASH;
    Index created.
    SQL> SELECT 
      2     o1.lex as label,
      3     o2.lex as "comment",
      4     o4.lex as producer
      5  FROM
      6     bmTriples250K t1, bmsNodes250K s1, bmpNodes250K p1, bmoNodes250K o1,
      7     bmTriples250K t2, bmpNodes250K p2, bmoNodes250K o2,
      8     bmTriples250K t3, bmpNodes250K p3,
      9     bmTriples250K t4, bmpNodes250K p4, bmoNodes250K o4
    10  WHERE
    11     t1.s = s1.hash
    12     and t1.p = p1.hash
    13     and t1.o = o1.hash
    14     and s1.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer9/Product399'
    15     and p1.lex = 'http://www.w3.org/2000/01/rdf-schema#label'
    16     and t1.s = t2.s 
    17     and t2.p = p2.hash
    18     and t2.o = o2.hash
    19     and p2.lex = 'http://www.w3.org/2000/01/rdf-schema#comment'
    20     and t1.s = t3.s
    21     and t3.p = p3.hash
    22     and p3.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/producer'
    23     and t3.o = t4.s
    24     and t4.p = p4.hash
    25     and t4.o = o4.hash
    26     and p4.lex = 'http://www.w3.org/2000/01/rdf-schema#label';
    no rows selected
    SQL>
    SQL>
    SQL>
    SQL> explain plan for
      2  SELECT 
      3     o1.lex as label,
      4     o2.lex as "comment",
      5     o4.lex as producer
      6  FROM
      7     bmTriples250K t1, bmsNodes250K s1, bmpNodes250K p1, bmoNodes250K o1,
      8     bmTriples250K t2, bmpNodes250K p2, bmoNodes250K o2,
      9     bmTriples250K t3, bmpNodes250K p3,
    10     bmTriples250K t4, bmpNodes250K p4, bmoNodes250K o4
    11  WHERE
    12     t1.s = s1.hash
    13     and t1.p = p1.hash
    14     and t1.o = o1.hash
    15     and s1.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer9/Product399'
    16     and p1.lex = 'http://www.w3.org/2000/01/rdf-schema#label'
    17     and t1.s = t2.s 
    18     and t2.p = p2.hash
    19     and t2.o = o2.hash
    20     and p2.lex = 'http://www.w3.org/2000/01/rdf-schema#comment'
    21     and t1.s = t3.s
    22     and t3.p = p3.hash
    23     and p3.lex = 'http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/producer'
    24     and t3.o = t4.s
    25     and t4.p = p4.hash
    26     and t4.o = o4.hash
    27     and p4.lex = 'http://www.w3.org/2000/01/rdf-schema#label';
    Explained.
    SQL>
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 3609661641
    | Id  | Operation                               | Name             | Rows  | Bytes | Cost (%CPU)| Time     |
    PLAN_TABLE_OUTPUT
    |   0 | SELECT STATEMENT                        |                  |     1 |  1716 |    23   (5)| 00:00:01 |
    |   1 |  NESTED LOOPS                           |                  |     1 |  1716 |    23   (5)| 00:00:01 |
    |   2 |   NESTED LOOPS                          |                  |     1 |  1520 |    22   (5)| 00:00:01 |
    |   3 |    NESTED LOOPS                         |                  |     1 |  1324 |    21   (5)| 00:00:01 |
    |   4 |     NESTED LOOPS                        |                  |     1 |  1287 |    19   (6)| 00:00:01 |
    |   5 |      NESTED LOOPS                       |                  |     1 |  1091 |    18   (6)| 00:00:01 |
    |   6 |       NESTED LOOPS                      |                  |     1 |   895 |    17   (6)| 00:00:01 |
    |   7 |        NESTED LOOPS                     |                  |     1 |   699 |    16   (7)| 00:00:01 |
    |   8 |         NESTED LOOPS                    |                  |     1 |   662 |    14   (8)| 00:00:01 |
    |   9 |          NESTED LOOPS                   |                  |     1 |   466 |    13   (8)| 00:00:01 |
    |  10 |           NESTED LOOPS                  |                  |     1 |   270 |    12   (9)| 00:00:01 |
    |* 11 |            HASH JOIN                    |                  |     1 |74 |    11  (10)| 00:00:01 |
    |  12 |             TABLE ACCESS BY INDEX ROWID | BMTRIPLES250K    |    10 |   370 |     5   (0)| 00:00:01 |
    |  13 |              BITMAP CONVERSION TO ROWIDS|                  |       |   |            |          |
    |* 14 |               BITMAP INDEX SINGLE VALUE | BMSJOINNODES250K |       |   |            |          |
    |  15 |             TABLE ACCESS BY INDEX ROWID | BMTRIPLES250K    |    10 |   370 |     5   (0)| 00:00:01 |
    |  16 |              BITMAP CONVERSION TO ROWIDS|                  |       |   |            |          |
    |* 17 |               BITMAP INDEX SINGLE VALUE | BMSJOINNODES250K |       |   |            |          |
    |* 18 |            TABLE ACCESS BY INDEX ROWID  | BMPNODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 19 |             INDEX UNIQUE SCAN           | PKBMPNODES250K   |     1 |   |     0   (0)| 00:00:01 |
    |  20 |           TABLE ACCESS BY INDEX ROWID   | BMONODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 21 |            INDEX UNIQUE SCAN            | PKBMONODES250K   |     1 |   |     0   (0)| 00:00:01 |
    |* 22 |          TABLE ACCESS BY INDEX ROWID    | BMPNODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 23 |           INDEX UNIQUE SCAN             | PKBMPNODES250K   |     1 |   |     0   (0)| 00:00:01 |
    |* 24 |         INDEX RANGE SCAN                | PKBMTRIPLES250K  |     1 |37 |     2   (0)| 00:00:01 |
    |  25 |        TABLE ACCESS BY INDEX ROWID      | BMONODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 26 |         INDEX UNIQUE SCAN               | PKBMONODES250K   |     1 |   |     0   (0)| 00:00:01 |
    |* 27 |       TABLE ACCESS BY INDEX ROWID       | BMPNODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 28 |        INDEX UNIQUE SCAN                | PKBMPNODES250K   |     1 |   |     0   (0)| 00:00:01 |
    |* 29 |      TABLE ACCESS BY INDEX ROWID        | BMSNODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 30 |       INDEX UNIQUE SCAN                 | PKBMSNODES250K   |     1 |   |     0   (0)| 00:00:01 |
    |* 31 |     INDEX RANGE SCAN                    | PKBMTRIPLES250K  |     1 |37 |     2   (0)| 00:00:01 |
    |  32 |    TABLE ACCESS BY INDEX ROWID          | BMONODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 33 |     INDEX UNIQUE SCAN                   | PKBMONODES250K   |     1 |   |     0   (0)| 00:00:01 |
    |* 34 |   TABLE ACCESS BY INDEX ROWID           | BMPNODES250K     |     1 |   196 |     1   (0)| 00:00:01 |
    |* 35 |    INDEX UNIQUE SCAN                    | PKBMPNODES250K   |     1 |   |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
      11 - access("T3"."O"="T4"."S")
      14 - access("T4"."SYS_NC00006$"='http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer9/Product399')
      17 - access("T3"."SYS_NC00006$"='http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer9/Product399')
      18 - filter("P3"."LEX"='http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/producer')
      19 - access("T3"."P"="P3"."HASH")
      21 - access("T4"."O"="O4"."HASH")
      22 - filter("P4"."LEX"='http://www.w3.org/2000/01/rdf-schema#label')
      23 - access("T4"."P"="P4"."HASH")
      24 - access("T1"."S"="T3"."S")
      26 - access("T1"."O"="O1"."HASH")
      27 - filter("P1"."LEX"='http://www.w3.org/2000/01/rdf-schema#label')
      28 - access("T1"."P"="P1"."HASH")
      29 - filter("S1"."LEX"='http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer9/Product399')
      30 - access("T1"."S"="S1"."HASH")
      31 - access("T1"."S"="T2"."S")
      33 - access("T2"."O"="O2"."HASH")
      34 - filter("P2"."LEX"='http://www.w3.org/2000/01/rdf-schema#comment')
      35 - access("T2"."P"="P2"."HASH")
    67 rows selected.

    Well, I didn't finally get an execution plan that uses the bitmap join index. The following statement with hint will use it, but I'm somewhat surprised that the optimizer doesn't choose this index without a hint. I'm still looking for more knowledge on this issue, so if you have any experiences to share regarding these bitmap join indexes, please do post.
    Thanks,
    Dave
    select /*+ INDEX(mmw_drug_pack ext_drug_pack_i12) */ mmw_drug_pack.*,
    mmw_drug_route.description as routedesc,
    mmw_drug_route.abbrev as routeabbrev,
    mmw_drug_doseform.description as doseformdesc,
    mmw_drug_doseform.abbrev as doseformabbrev,
    mmw_drug_labeler.namefull as labelername,
    mmw_drug_disp.rpid,
    mmw_drug_disp.pnid,
    mmw_drug_disp.descdisplay as dispdescription
    from mmw_drug_pack,
    mmw_drug_route,
    mmw_drug_doseform,
    mmw_drug_disp,
    mmw_drug_labeler
    where mmw_drug_pack.rtid = mmw_drug_route.rtid
    and mmw_drug_pack.dfid = mmw_drug_doseform.dfid
    and mmw_drug_pack.ddid = mmw_drug_disp.ddid
    and mmw_drug_pack.labelerid = mmw_drug_labeler.labelerid

  • Bitmap join indexes in 9i?

    Has anyone successfully used bitmap join indexes? I've created several over what is logically a fact table and dimension tables (fits the model as best I can tell), but queries that sure look like they should use the index don't. I've tried it on 9.0.1.0.0 on Solaris, and 9.2.0.1.0 on AIX. Here's an example (mmw_drug_pack is the fact table, the others are dimension tables). Any thoughts or ideas? Is there an unpublished initialization parameter that activates this capability?
    Bitmap join index:
    CREATE BITMAP INDEX ext_drug_pack_i12
    ON mmw_drug_pack (mmw_drug_route.description,
    mmw_drug_route.abbrev,
    mmw_drug_doseform.description,
    mmw_drug_doseform.abbrev,
    mmw_drug_labeler.namefull,
    mmw_drug_disp.rpid,
    mmw_drug_disp.pnid,
    mmw_drug_disp.descdisplay)
    FROM mmw_drug_pack, mmw_drug_route, mmw_drug_doseform, mmw_drug_disp, mmw_drug_labeler
    WHERE mmw_drug_pack.rtid = mmw_drug_route.rtid
    AND mmw_drug_pack.dfid = mmw_drug_doseform.dfid
    AND mmw_drug_pack.ddid = mmw_drug_disp.ddid
    AND mmw_drug_pack.labelerid = mmw_drug_labeler.labelerid
    TABLESPACE indx COMPUTE STATISTICS;
    Statement that (I think) should use the bitmap join index, but doesn't. Even if I add an additional filter predicate like "mmw_drug_pack.rtid = 1", Oracle still doesn't use the index.
    select mmw_drug_pack.*,
    mmw_drug_route.description as routedesc,
    mmw_drug_route.abbrev as routeabbrev,
    mmw_drug_doseform.description as doseformdesc,
    mmw_drug_doseform.abbrev as doseformabbrev,
    mmw_drug_labeler.namefull as labelername,
    mmw_drug_disp.rpid,
    mmw_drug_disp.pnid,
    mmw_drug_disp.descdisplay as dispdescription
    from mmw_drug_pack,
    mmw_drug_route,
    mmw_drug_doseform,
    mmw_drug_disp,
    mmw_drug_labeler
    where mmw_drug_pack.rtid = mmw_drug_route.rtid
    and mmw_drug_pack.dfid = mmw_drug_doseform.dfid
    and mmw_drug_pack.ddid = mmw_drug_disp.ddid
    and mmw_drug_pack.labelerid = mmw_drug_labeler.labelerid
    [and mmw_drug_pack.rtid = 1 --additional filter predicate]

    Well, I didn't finally get an execution plan that uses the bitmap join index. The following statement with hint will use it, but I'm somewhat surprised that the optimizer doesn't choose this index without a hint. I'm still looking for more knowledge on this issue, so if you have any experiences to share regarding these bitmap join indexes, please do post.
    Thanks,
    Dave
    select /*+ INDEX(mmw_drug_pack ext_drug_pack_i12) */ mmw_drug_pack.*,
    mmw_drug_route.description as routedesc,
    mmw_drug_route.abbrev as routeabbrev,
    mmw_drug_doseform.description as doseformdesc,
    mmw_drug_doseform.abbrev as doseformabbrev,
    mmw_drug_labeler.namefull as labelername,
    mmw_drug_disp.rpid,
    mmw_drug_disp.pnid,
    mmw_drug_disp.descdisplay as dispdescription
    from mmw_drug_pack,
    mmw_drug_route,
    mmw_drug_doseform,
    mmw_drug_disp,
    mmw_drug_labeler
    where mmw_drug_pack.rtid = mmw_drug_route.rtid
    and mmw_drug_pack.dfid = mmw_drug_doseform.dfid
    and mmw_drug_pack.ddid = mmw_drug_disp.ddid
    and mmw_drug_pack.labelerid = mmw_drug_labeler.labelerid

  • How do I use location based Reminders when my address does not show up in Apple Maps?

    I currently live overseas and Apple maps does not have any street names listed in my neighborhood.  I have tried dropping a pin on my house and adding it to contacts, but it just takes me back to the center of town which is about 5 miles from my house and closer to my office so that the location reminders gets confused.
    Is it possible to enter gps locations directly into the reminders program or into my contacts?  Any suggestions are welcome!

    @Kilgore-Trout, there is no "contact us" at the bottom of the Apple Map. All I get is report the problem...move the pin, which I have done numerous times. Google maps gets it right & due to that fact, we have to tell vendors to NEVER use Apple Maps when getting directions for deliveries. I love apple, own all their products and now my BMW i3 is using their maps & I would love to have them be responsive.

  • Download Software Updates Wizard from the Internet - does it use BITS to do this?

    I have a Primary Site Server at my Datacenter and I setup a temporary DP on a test Win 7 system. I initially was having timeout issues trying to deploy software updates to a group of test systems for my pilot deployment to this remote location from the DP
    located at the Datacenter. So I decided to setup a temporary DP on a Win 7 system to see if this will help resolve the timeout issues.
    My question is, when I download patches to the package located on the remote Win 7 DP does it use BITS to do this? 
    Exactly what is the process that occurs when this happens, or will the PatchDownloader.log file give the info I need? I have looked in the PatchDownloader.log file and nothing has appeared yet. 
    Thanks

    So it sounds like I do in fact need to create a separate package just for that remote Win 7 DP then. 
    What I am trying to get at is this:
    I have a very slow WAN link from the Datacenter to a remote site that I am running my second pilot deployment on (Pilot 2)
    I have an existing package that I have been using for the last 4 months or so that I have been using for my first pilot deployment (Pilot 1)
    I tried to deploy the software updates initially for Pilot 2 to my remote test systems, but they were timing out due to the constricted WAN bandwidth and the fact BITS traffic is being regulated with a packet shaper appliance device
    Because of the timeout issues I was seeing in the WUAHandler.log and WindowsUpdate.log, I decided to first setup a simple Win 7 DP to see if this could resolve the timeout issues
    I knew that the software updates that I wanted to deploy already existed in my "2014_Monthly_Patches-Datacenter" package, but I did not want to run the Distribute Content Wizard to deploy this entire package to my remote Win 7 DP across my very
    slow WAN link and saturate the wire
    So I re-downloaded the software updates again, but this time instead of having them download to the Package Source on my Primary Standalone Site server located in my Datacenter, I downloaded them to a new Package Source on the remote Win 7 DP instead and
    I put them in a completely separate package named "2014_Monthly_Patches-RemoteSiteA"
    What I want to know is if the steps I performed above necessary and accurate, because I do have such a slow WAN connection between the Datacenter and the remote site, or is there another way of doing this without creating the separate Package Source and
    separate package on the remote DP?

  • How much does it cost to use maps

    hi, im confused with my phone N95. Do they charge us $ for using the map or navigation or gps function? and whats the difference between map, gps and navigation? thanks a lot everyone.

    Hi lciim
    If you have v12.0.013 software on N95 there is cents cost each time A-GPS feature is used (1-3kb upstream and 2-5kb downstream). Also for a full search to address level an active connection either WLAN or Network is needed with possible download data costs involved.
    Happy to have helped forum in a small way with a Support Ratio = 37.0

  • HT5622 why does Find My iPhone via iCloud on my iMac use Google maps and not Apple maps?

    when I use Find My iPhone through iCloud on my iMac, the app uses Google maps to display locations. Why? Shouldn't it use Apple maps?

    thanks
    I used Apple maps on my iPhone, iPad and iMac and prefer it over Google maps except for street view (which albeit has an annoying, difficult to use interface). In El Salvador, Apple maps was certainly more accurate than Google maps. I like Apple maps turn-by-turn navigation via my Sonata's sound system, quite nice

  • IMac boots to bit-mapped rows of diaganol lines across screen & then freeze

    Im not sure where to post this. Unsure if it's a start-up or a display problem - or both ...
    A friend of mine was trying to install boot camp on her 17" Early 2006 but the installation failed half-way through ...
    Now, when the machine is switched back on - serious square or bit-mapped looking rows of diagonal lines appear from top to bottom on the screen at 30mm gaps ... it boots up OK to the grey Apple Screen with the spinning cog below - then the lines disappear and the blue start-up screen - looks like it's about to show the 'Starting Mac OS X' window - but then stops - and the cursor changes to a weird rectangular mess - and nothing else happens ... the cursor still moves - so I know the system is not completely frozen - it just won't boot past the blue screen ...
    The only way I can get it to boot to the desktop is in Safe Mode (shift key at start-up) - but it boots all the way with the diagonal lines.
    Here's what I have tried so far ...
    * - reset pram
    * - targeted it to another intel mac and used Disk Utility to zero the hard disk to a single Mac OS Extended (journaled) partition (erasing the previous XP portion created by the botched Boot Camp assistant).
    * - a clean install of Mac OS X.4.6 via a 'C' boot.
    * - restarted into safe mode holding the 'shift' key to get to the desktop.
    * - run software update to see if there were any new EFI or Firmware updates.
    all to no avail ...
    I have also scanned the Apple downloads pages and here in the discussions.
    And also the Boot Camp discussions - I can find only one other post with a similar issue - but there is no 'fix' or solution posted ...
    My hunch is the firmware has been affected by the boot camp installer - or something to do with the EFI parameters on the video board.
    I have tried everything Apple suggests - including an attempt to reinstall the firmware via a hard press of the power button and inserting a special install firmware install CD from Apple downloads - but I can't get the firmware bar to load at start up ...
    If I try reinstalling the latest firmware update - I get a message saying "Your Firmware is up to date' - or 'This update is not needed on this machine' ...
    Q: Is there a stand-alone installer that will reinstall the firmware - without doing a version check - and just do a fresh firmware install ... ?
    Does anyone know a way around the version check.
    I am convinced this issue is a software/firmware related problem - I sense the EFI settings have screwed up the video settings on the board - and I all i want to do is refresh them.
    It's still under it's initial 1 year warranty - but I'm not sure a botched Boot Camp install is covered ...
    Sorry for the long post - but I'm hoping a nice apple guru can help me out with this 'very hairy' problem ..
    ... macfinger - auckland city
    17" intel imac early 2006 1.8GHZ 512RM

    OK - here's the result of the rows of diagonal lines across the screen on the 17" Intel Core Duo iMac, which I posted last week ...
    The logic board was definitely faulty - it could not be repaired by firmware or otherwise ... the service centre was very vague about which area or part of the board failed - but I suspect it was the embedded video board or VRAM ...
    (actually - I still reckon it was a botched firmware - but seeing as Apple's 'Open Firmware' is nor strictly 'Closed Firmware' .... there was no way of actually testing that theory for sure ...
    From what my friend has told me - she said this fault was the result of a botched Boot Camp XP installation when loading the Windows drivers from the Mac generated Drivers Install CD which froze - and then trying to boot back into Mac OS X by doing a hard restart, after it failed ...
    A message to any future readers of this post:
    If your machine shows signs of of the above symptoms - you'll have to return it to an Authorised Apple Service Centre to have the logic board replaced (hopefully under warranty) ...
    BE SURE AND BACK UP ALL OF YOUR PERSONAL USER DATA FIRST - AS THERE WILL BE NO GUARANTEE YOUR USER FOLDER WILL BE RETAINED WHEN YOU GET YOUR MACHINE BACK ...
    You can still access your HD by doing a safe boot: hold the 'Apple' & 'S' keys immediately after you hear the start-up 'chimes' ....
    Once you're back to your desktop - use your machines internal CD-RW/DVD to copy your files to disk ... it's a bit tricky with all the lines across the screen - but persevere - 'cause that's what we did - and we know it can be done.
    Good luck ...

  • Bit Map Indexing

    Hi All
    i have a table with 5.5 million records and i have a fields (project id and owner id) with 8400 and 507 distinct values. For reporting reasons i want to create a bit map index on the project id. My question is even though it makes the query faster will it take more space? How can i calculate how much space it takes? Secondly if the ROI is not good for creating index on the project id can i creat index on the second field (owner id) and can still make the query faster?
    Thanks

    897837 wrote:
    i have a table with 5.5 million records and i have a fields (project id and owner id) with 8400 and 507 distinct values. For reporting reasons i want to create a bit map index on the project id. My question is even though it makes the query faster will it take more space? Strange question - indexes are an overhead. Space is needed for an index structure. The structure needs to be maintained when data is added, changed or deleted.
    The question is whether these overheads are justified by the increase in performance when reading the table structure for selected rows and using the index structure as part of process to get to those selected rows.
    So it is not only space that is the coin of payment for indexes. There's also extra CPU to burn in order to maintain those indexes.
    How can i calculate how much space it takes? Well, today I would say that space is much less of a consideration. Disk space is cheap. Overheads to maintain additional data structures are not cheap. So I would first look at the performance impact. If you need to maintain a 100 rows/sec insert rate for example, you can ill afford overheads that do not pay back with time gained when reading data.
    I would also want to measure just how much the index reduces the workload for reading data. Does it decrease the read I/O load by 1% or 50% ?
    You need to quantify the impact of that index to determine whether it is worthwhile. And it does not mean merely calculating the cost ito space used and then see how fast it makes a query by using a stop watch or timer (the wrong metric for measuring SQL performance).

  • Bit-mapped image problem

    Does anyone know how I manage to make an image bit-mapped in Illustrator 6? I think it is a key-command that I press accidentally, this happens to me occasionally as I am working quite fast and I must accidentally press a key and not notice how it happens, how can I reverse it so the image is no longer bit-mapped and save me time having to redraw the image?

    I feel we are so close but missing one more hint to figure this out. Do you have any 3rd party plug ins?
    Update to 16.04 alteast if you have not. I have not tested 16.05, should be ok, did not even know they opposed that. Adobe - Illustrator : For Macintosh
    Edit Keyboard shortcuts > choose illustrator defaults
    Review all you actions and get rid of any you do not use. I got rid of all of mine and modified the delta unused items which was the only useful one adn put that in my own set of custom actions.
    That should eliminate the variable of some keyboard shortcut from Illustrator doing this
    Check your clipboard settings.
    Make sure you are saving to .ai format and not .pdf. I would also recommed doing a save as and turn OFF pdf compatible (unless you are going to import into InDesign.
    Can you explain in a little more detail your copy & paste process. Such as do you save the doc after you copy, basically exactly when did you notice the original source document got bitmapped, could this already have been saved this way? Can you repeat this, does this problem happen.
    Keep that link palette open, as that should be a good hint to exactly when this happens. You really do not want any graphics with embedded icons for most print graphic situations.

  • How to use pre-mapping process operator

    Hi,
    I am using OWB version 10.1.0.4.0.
    There are two source tables namely src1_tb(id1,field1,field2), src2_tb(id2,field3,field4) and a target table namely target_tb(id1,id2,field1,field2,field3,field4).
    It's a simple mapping with a join operator. Here, when I try to use a pre-mapping process operator 'LENGTH', with input from outgroup of join operator (field1) and output linked to an added field( VALUE_LENGTH) in Traget Table, it gives error "VLD-2451: Connection to premapping is invalid" and a warning "VLD-1008 :Referenced mapping column VALUE_LENGTH" does not exist"
    Can anyone please let me know how to use pre-mapping process operator.
    Any help will be greatly appreciated.
    Regards,
    Pawan

    yes, a pre-mapping procedure is not what you want here.
    Pre-mapping procedures run once when the mapping initializes and before the actual ETL is run. IT is a place where you could do some custom data cleansing / validation, populate your own audit loggin tables if you wish, or whatever other things you might like to do.
    For what you are describing, you want to pass the field through an expression object. Drop the Expression on the canvas and drag a link from the field in your OUTGRP to the INGRP on the expression This will auto-create the corresponding ingrp attribute in the expression for that field. Then double-click the expression object to bring up it's properties sheet. You will then want to create an OUTGRP attribute called length_value of type number, and set it's Expression property to length(ingrp1.your_Field_name_here). You can then connect from this outgrp field to your field in the target table.
    Cheers,
    Mike

Maybe you are looking for