Truncate slower than delete on table of XMLTYPE

Hi,
Why is a truncate of a XMLTYPE table which is based on
a registered XML schema, so much slower than doing a delete?
Usually it is the other way around. Is this caused by the
number of objects actually underlying the table?
Thanks
Pete

Hi,
OK I take that back, working with a table with 10,000 rows
in it, the truncate was much faster than the delete.
Pete

Similar Messages

  • Problem deleting from table with xmltype column

    Hi,
    Using a standard, simple screen (generated from JHeadstart), I don't seem to be able to delete from a table including an xmltype column. I have tried it even with a very simple mock table with only one column, an xmltype column, and every time I check the "delete" box and click "save", I get the following error:
    oracle.jbo.RowInconsistentException: JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[33 ].
    I have tried this in the JDeveloper application module tester too and the result is the same.
    Is it possible to delete a row from a table with an xmltype column? Am I doing something wrong? Is there something special needs done?
    As I say, I did this with a one-xmltype-column table using the "Business Components from Tables" wizard, accepting all the defaults.
    Thanks,
    Darren

    In short you want
    SELECT extractvalue(myxml, '/PurchaseOrder/Reference')
    FROM dab_test;This difference is that for dab_xml, there are no columns defined for the table, therefore you are [OBJECT_VALUE|http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/pseudocolumns006.htm#sthref830] as an alias for a non existent column.
    With dab_test, you have a column that contains the XML so you need to use that column name instead of OBJECT_VALUE.

  • Delete on table

    Hello
    The scenario is like this:
    I want to delete a table and reload the data using a cron job. The sequence is
    Delete table
    Laod Data
    Commit
    My question is : When the table is deleted and is getting reloaded, if a user accesses the data of that table.. will he get the old values , as after delete i am not commiting.
    Commit is done after the reload finishes.
    TIA
    Regards
    null

    If you want to avoid the users seeing the old data, use truncate instead of delete. This also has the advantage of being significantly faster than a delete, and does not requiring as much rollback.

  • What is difference of truncate/insert and delete/insert ?

    hi all:
    what is difference of truncate/insert and delete/insert ?

    Hi,
    Truncate will truncate the table, which means there is a DDL operation to empty the table. DDL operations cannot be rolled back, but truncate is much faster than delete (because of that reason). If you do not require recovery of the deleted records in case of a failure, then truncate/insert is more optimal than delete/insert. Notice that for truncate to work, you cannot have enabled foreign keys pointing to the table. Truncate will never perform cascaded deletes.
    Hope this explains.
    Mark.

  • How to truncate the values from the table

    Hi All,
    I am working on an issue..where we are first deleting all the records from the table and then based on few conditions we are putting the records back in that table...when we tried to run this program along with few others those who are doing almost the same stuff we are having issues...we tried to schedule few jobs related to these programs only...but after a ceratin amount of time couple of jobs got canceled...I was talking to my basis guy and he said the problem is ratehr then truncating the records from the table we are deleting the records and it's taking lots and lots of space to execute...so we need to truncate the records from the table insted of deleting it...we are using the following the statement right now:
        DELETE FROM ZTUS_PG.
        COMMIT WORK.
    So can you please tell me how can we truncate the values from this table instead of just deleting them and what would be effect of this.
    Thanks,
    Rajeev Gupta

    I don't think basis is saying you should delete all the records from the table. They are saying remove the table and it's contents (a much faster thing to do). I'm not sure this the right thing to do, but you can have a look at:
    http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.sample.doc/doc/admin_scripts/s-truncate-db2.htm
    Something like:
    EXEC SQL.
      TRUNCATE TABLE ZTUS_PG REUSE STORAGE
    ENDEXEC.
    COMMIT WORK.                      "Empty table is committed here
    Rob
    Edited by: Rob Burbank on Dec 1, 2008 4:06 PM

  • How to find out when data was deleted from table in oracle and Who deleted that

    HI Experts,
    Help me for below query:
    how to find out when data was deleted from table in oracle and Who deleted that ?
    I did that to fidn out some data from dba_tab_modifications, but I m not sure that what timestamp shows, wether it shows for update,insert or delete time ?
    SQL> select TABLE_OWNER,TABLE_NAME,INSERTS,UPDATES,DELETES,TIMESTAMP,DROP_SEGMENTS,TRUNCATED from dba_tab_modifications where TABLE_NAME='F9001';
    TABLE_OWNER                    TABLE_NAME                        INSERTS    UPDATES    DELETES     TIMESTAMP         DROP_SEGMENTS TRU
    PRODCTL                        F9001                                                     1683         46       2171            11-12-13 18:23:39             0                   NO
    Audit is enable in my enviroment?
    customer is facing the issue and data missing in the table and I told him that yes there is a delete at 11-12-13 18:23:39 in table after seeing the DELETS column and timestamp in dba_tab_modifications, but not sure I am right or not
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    audit_file_dest                      string      /oracle/admin/pbowe/adump
    audit_sys_operations                 boolean     TRUE
    audit_syslog_level                   string
    audit_trail                          string      DB, EXTENDED
    please help
    Thanks
    Sam

    LOGMiner --> Using LogMiner to Analyze Redo Log Files
    AUDIT --> Configuring and Administering Auditing

  • Oracle 10g - issue with "DELETE from TABLE WHERE ID in (1,2,3)" (cfqueryparam used)

    Hello, everyone.
    I am having issues with running a DELETE statement on an Oracle 10g database.
    DELETE
    FROM tableA
    WHERE ID in (1,2,3)
    If there is only one ID for the IN clause, it works.  But if more than one ID is supplied, I get an "SQL command not properly ended" error message.  Here is the query as CF:
    DELETE
    FROM TRAINING
    WHERE userID = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#trim(form.userID)#">
         AND TRAINING_ID in <cfqueryparam value="#form.trainingIDs#" cfsqltype="CF_SQL_INTEGER" list="yes">
    Anyone work with Oracle that can help me with this?  I'm an experienced MS-SQL developer; Oracle is new to me.
    Thanks,
    ^_^

    Nevermind.. a co-worker just told me that I still have to use parenthesis around the values for the IN clause. 

  • PS CS3 much slower than CS2 on Intel Mac. I don't get it.

    Yes, very very strange.
    I work with very large files, so I just got a spiffy new Mac Pro. It's my first Intel machine, so I expected that CS2 would drag a little bit, due to Rosetta. In fact, moving from one processor to eight of them seems to have much more than compensated. Nevertheless, I ordered CS4 and while I wait I downloaded the demo of CS3.
    I expected that CS3 would fly (no Rosetta) but have found my test tasks taking an inordinate amount of time... much slower than CS2 on the same Xeon workstation, and slower than CS2 on my old iMac (single 2.1GHz G5)
    Since I work with extremely large files, I got a hardware RAID5 made up of four 15,000RPM SAS drives. I can't get enough RAM to avoid using scratch disk, so I attacked the biggest performance bottleneck. I did get 8GB of RAM; would have gotten more, but I read that it won't matter until CS goes 64-bit in CS5 at the earliest.
    The rest of it: dual quad-core 2.8GHz "Woodcrest" Xeon processors, NVIDIA GeForce 8800GT graphics card, OS X 10.5.5, all updates (Apple and Adobe) applied as of 6pm Wednesday October 8th.
    I'm running two tests as my benchmark: open a file (PSD created with CS2, 75" x 75" at 400ppi, two layers, RGB with one additional channel) and resize to 75" x 75" at 800ppi. Once that is done, I rotate the new, massive file counterclockwise 18.5 degrees.
    On my old setup, 2.1GHz SP G5 iMac with CS2, these tasks took 38m 30s and 1h 33m 22s respectively.
    New machine with CS2: 10m 09s and 29m 14s respectively
    New machine with CS3: 42m 38s and 1h 36m 24s
    (above tests run repeatedly: these numbers are the fastest numbers for each configuration)
    I have nothing else running for these tests, except for Activity Monitor. What I've observed with Activity Monitor: the old G5 was pegged at (or very near) 100% CPU the whole time. Mac Pro with CS2, Photoshop ran most of the time on one CPU at a time, but spiked up as high as 250% CPU usage just for Photoshop.
    I haven't seen Photoshop CS3 use more than 80% of one processor the whole time on the Mac Pro. Mostly it sits around 35%.
    One more informal test: if I open that same file and downsample from 400ppi to 200ppi, CS2 does it in 1m 40s. CS3: 6m 57s. I don't have the iMac any more so I can't tell you how long it would take there.
    In both CS2 and CS3 the scratch disk is my startup volume, but it's a RAID. I can't add any more drives except for external drives. I could have configured it to one dedicated system drive and a second scratch volume made up of the remaining three drives, but I consulted with people who know RAID better than I do who agreed that since everything is going through the SCSI controller and everything gets written to multiple drives in order to make it faster that I'd get a performance hit by splitting the RAID into two volumes, even if multiple processes are trying to get at the same drive array. Even adding a Firewire 800 drive for scratch would be slower than using the RAID. Or so I've been told.
    So, this seems absurd. CS3 is not using Rosetta, right? So it should be flying on my machine. What on earth could I have done to a fresh CS3 (demo) install to make it slower than CS2 on my old G5? Is the CS3 demo crippled? Is there a conflict having CS2 and the CS3 demo on the same machine?
    I'm stumped.

    >Ya see, this is the attitude you really, really should get over. The Photoshop CS3 (10.0.1) code is just fine... it's your system (hardware/software) which, for some reason is not providing an optimal environment.
    Jeff, I agree completely. You seem to be assuming that I actually think Adobe wrote bad code. In fact, I believe Adobe did NOT write bad code (and I wrote that) but that the condition that you are suggesting (CS3 being slowed by having having scratch and system on the same volume to a far greater extent than CS2) could only be caused by bad code by Adobe. Since I believe that, as you say, a universal difference of this magnitude between CS2 and CS3 would be noticed by huge numbers of users, I doubt that what I am seeing is the result of having scratch and system on the same volume.
    In case I'm being less than clear:
    Scratch and system were on the same volume for CS2.
    Scratch and system were on the same volume for CS3.
    On my system CS2 performs tasks three to four times faster than CS3.
    ergo, either there is some problem other than scratch and system being on the same volume (perhaps something that exacerbates the scratch/system/same volume issue, OK, I accept that possibility) or else the change has been between CS2s and CS3s handling of scratch disks.
    If for the sake of argument we rule out the possibility that CS3 handles the condition of scratch and system being on the same volume worse than CS2 does, the only possibility left is that there is SOMETHING ELSE WRONG WITH MY SYSTEM.
    I am trying to find out what that other thing is. You're the one insisting that scratch and system being on the same volume is the cause of the CS3 slowdown. Accusing me of not believing that there's something wrong with my system misses the mark entirely. I ABSOLUTELY believe there is something wrong with my system.
    > Your RAM tests sound pretty thorough, but if I had your large-files workflow I would buy two (or preferably 4) 4-GB sized matched RAM DIMMs, remove all the existing RAM, and install only the new RAM to further test whether or not the old RAM is anomalous.
    Thanks Allen,
    Actually, this is exactly what I've done, though in a different order. My system shipped with two 1GB chips. I bought two 4GB chips from OWC and installed them, and found my CS2 performance to increase significantly. It was only then that I tried installing the CS3 demo. When I found CS3 running my tests more slowly than expected, I pulled the new RAM out and tried with just the original 2GB and tested both CS2 and CS3 again. Then I took the original 2GB out, put only the new RAM in and tested CS2 and CS3 again, finding the same results. Currently I have all 10GB in the system and for the moment I'm setting aside the possibility of a problem with the RAM (or at least setting aside the possibility that the RAM chips are just plain bad) because that would indicate that both the new and the old RAM are both bad in the same way. That seems unlikely.
    So I guess I'll have to drag the system down to the Genius Bar if I don't see an improvement from rearranging my hard drives.
    The update there is that last night I backed up my system, and this morning I deleted my RAID5 set, blowing away everything on my system until I can restore from backup. The new configuration is 1 JBOD drive plus three drives attached as RAID0.
    Unfortunately, neither of the new volumes is visible when I go to restore from backup. For the moment, this little experiment has cost me my entire system. The upshot is that it may be some more time before I have any more information to share. Even when I do get it working again, I can expect restoring to take the same 12 hours that backing up did.
    I will certainly post here when I've got my system back.

  • Problem in truncate/drop partitions in a table having nested table columns.

    Hi,
    I have a table that has 2 columns of type nested table. Now in the purge process, when I try to truncate or drop a partition from this table, I get error that I can't do this (because table has nested tables). Can anybody help me telling how I will be able to truncate/drop partition from this table? IF I change column types from nested table to varray type, will it help?
    Also, is there any short method of moving existing data from a nested table column to a varray column (having same fields as nested table)?
    Thanks in advance.

    >
    I have a table that has 2 columns of type nested table. Now in the purge process, when I try to truncate or drop a partition from this table, I get error that I can't do this (because table has nested tables). Can anybody help me telling how I will be able to truncate/drop partition from this table?
    >
    Unfortunately you can't do those operations when a table has a nested table column. No truncate, no drop, no exchange partition at the partition level.
    A nested table column is stored as a separate table and acts like a 'child' table with foreign keys to the 'parent' table. It is these 'foreign keys' that prevent the truncation (just like normal foreign keys prevent truncating partions and must be disabled first) but there is no mechanism to 'disable' them.
    Just one excellent example (there are many others) of why you should NOT use object columns at all.
    >
    IF I change column types from nested table to varray type, will it help?
    >
    Yes but I STRONGLY suggest you take this opportunity to change your data model to a standard relational one and put the 'child' (nested table) data into its own table with a foreign key to the parent. You can create a view on the two tables that can make data appear as if you have a nested table type if you want.
    Assuming that you are going to ignore the above advice just create a new VARRAY type and a table with that type as a column. Remember VARRAYs are defined with a maximum size. So the number of nested table records needs to be within the capacity of the VARRAY type for the data to fit.
    >
    Also, is there any short method of moving existing data from a nested table column to a varray column (having same fields as nested table)?
    >
    Sure - just CAST the nested table to the VARRAY type. Here is code for a VARRAY type and a new table that shows how to do it.
    -- new array type
    CREATE OR REPLACE TYPE ARRAY_T AS VARRAY(10) OF VARCHAR2(64)
    -- new table using new array type - NOTE there is no nested table storage clause - arrays stored inline
    CREATE TABLE partitioned_table_array
         ( ID_ INT,
          arra_col  ARRAY_T )
         PARTITION BY RANGE (ID_)
         ( PARTITION p1 VALUES LESS THAN (40)
         , PARTITION p2 VALUES LESS THAN(80)
         , PARTITION p3 VALUES LESS THAN(100)
    -- insert the data from the original table converting the nested table data to the varray type
    INSERT INTO PARTITIONED_TABLE_ARRAY
    SELECT ID_, CAST(NESTED_COL AS ARRAY_T) FROM PARTITIONED_TABLENaturally since there is no more nested table storage you can truncate or drop partitions in the above table
    alter table partitioned_table_array truncate partition p1
    alter table partitioned_table_array drop partition p1

  • To run a piece of PL/SQL code,  in TT  is much slower than   in ORACLE.

    A piece of PL/SQL code , about 1500 lines, package is named rtmon_event, function in it is named rtmon_SHOLD_CUS_RPT;
    the PL/SQL code is run in ORACLE.
    Now I want to get fast speed, I think of TT.
    I rewrite the PL/SQL code by grammer in TT.
    But the speed in TT is much slower than the speed in ORACLE.
    In ORACLE, to run the PL/SQL code, it need 80 seconds; but In TT, to run the PL/SQL code, it need 183 seconds;
    How can I resolve the problem?
    Btw: there are some joins of 2 tables, or 3 tables in rtmon_event.rtmon_SHOLD_CUS_RPT, and some complex DML in it.
    The run method is :
    declare
    a number;
    begin
    a := rtmon_event.rtmon_SHOLD_CUS_RPT ;
    end;
    Thanks a lot.

    The easiest way to view a plan is to use ttIsql and issue the command:
    explain SQL-statement;
    For example:
    explain select a.ol1, b.col2 from taba a, tab b where a.key = b.key;
    See the documentation that 'hitgon' pointed you to to help you interpret the plans.
    Chris

  • Change / Edit  or Deleting condition table

    I have created some condition tabl;es in MM Purchasing but I need some additional fileds in the condition table , but this table is not getting edited or I can not add the field in the table . How I can do this
    If I want to delete / remove the field in existing table , there is no such option . How I can do this
    How I can delete existing table other than standard condition table

    Go to M/04 and select Condition table and go to Menu Condition - Delete / Shift F2

  • Recover a deleted record / table

    Hello,
    Our Oracle DB (10.2.0.4) is on archive mode. But flashback is not enabled
    In such cases, If a user deleted a table entry / a entire table itself, Is it possible to recover
    How to solve this kind of a issue.
    Is it really deleting from the DB or else is it just mark as flag (flag as deleted.)
    regards,
    Zerandib

    Hello Zerandib,
    depending on how the user deleted the data (DML = DELETE or DDL = TRUNCATE) from the entire table or just a table entry -  you can use flashback query. Flashback query works with the undo data - so you can flashback your table until UNDO_RETENTION.
    Official documentation:
    http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17125/adfns_flashback.htm#ADFNS01003
    If the data is not stored in undo tablespace anymore - you can also use the LogMiner to rebuild your data with help of the archive logs:
    http://download.oracle.com/docs/cd/E11882_01/server.112/e16536/logminer.htm#SUTIL1553
    If your entire table was deleted with DDL (TRUNCATE) you need to restore your whole database and recover it.
    Regards
    Stefan

  • Without delete PDP table entry, I want to Order PO in R/3. How can I do it?

    Hi SRM Gurus,
    I am using SRM 5.5 with Extended Classic Scenario and Plan Driven Procurement(PDP).
    My question is: I was unable to create PO with reference PR/RFQ/Manually  in R/3.System is giving an error message 'you can order locally(SRM)'. Which material group and Purchasing groups are maintained in PDP table. If I delete this entry I can Order PO in R/3.
    Now I don't want to delete PDP table entry and I want to Order PO in R/3. How can I do it?.
    Please focuses light on this issue. Highly appreciate.
    Regards,
    John.

    Hi
    I think you can do in both sides
    let me know your scenario too well.
    I am in classic scenario
    i can create a PR - if i have valid unique source of supply , PO will be created in ECC
    If i have more than one source of supply , my PR will get EPRTRANS TABLE ENTRY with EPROFILE updated in EBAN table and my ECC pr wil be transfered to SRM and create  a sc and this cart will be in cockpit.
    I believe your PR has EPROFILE , thats why you could not create a PO in ECC side.
    confirm me.
    How to you assign a source of supply for PRs ? I wanted to know. so i can expalin easilyand any jobs you create to create a Auto POS in ECC after assign a source of supplt to your Purchase request.
    br
    muthu

  • More than one Detail table in the Master Detail forms!

    Hi,
    I need to have more than one Detail table in Master Detail Forms.
    I want to see the details of the rows of the first Detail table in the Second Detail table. Please guide me to do this.
    Sincerely yours,
    Mozhdeh

    You can do one of two things
    1) Depends on the nature of your data model. I was able to manage many to many
    relationships using views and instead of triggers. This solution is somewhat complex but can work in certain situations.
    2)Works for situations where master record exists. create a page with mulitple portlets syncronized on some related key.
    create the following package to use on the md forms to place on the one page to be rendered.
    -- this package will facilitate the storage and retrieval of keys used by the related forms.
    create or replace package session_var
    IS
    session_parms portal30.wwsto_api_session;
    g_domain varchar2(2000) := portal30.wwctx_api.get_user;
    function get_id (id in varchar2) return number;
    PROCEDURE SET_ID
    (ID in VARCHAR2
    ,p_val in VARCHAR2
    ,P_URL in VARCHAR2
    END SESSION_VAR;
    create or replace package body session_var
    IS
    --pkg body
    function get_id(id in varchar2) return number is
    l_store_session portal30.wwsto_api_session;
    l_id number;
    begin
    l_store_session := portal30.wwsto_api_session.load_session(
    p_domain => session_var.g_domain,
    p_sub_domain => 'your domain');
    l_id := l_store_session.get_attribute_as_varchar2( p_name => id);
    return l_id;
    end get_id;
    PROCEDURE SET_ID
    (ID in VARCHAR2
    ,p_val in VARCHAR2
    ,P_URL in VARCHAR2
    IS
    l_store_session portal30.wwsto_api_session;
    begin
    l_store_session := portal30.wwsto_api_session.load_session(
    p_domain => session_var.g_domain,
    p_sub_domain => 'your domain');
    l_store_session.set_attribute(
    p_name => id,
    p_value => p_val );
    l_store_session.save_session;
    * Redirect to the page using p_url;
    portal30.wwv_redirect.url(P_URL);
    end set_id;
    END SESSION_VAR;
    --the form master detail form, section  before display page enter the following code and publish as portlet.
    declare
    l_fs varchar2(4000);
    l_s varchar2(4000);
    v_con_id number;
    begin
    v_con_id :=rfq.session_var.get_id('CON_ID'); -- primary key and key used to relate details
    p_session.set_shadow_value( p_block_name => 'MASTER_BLOCK',
    p_attribute_name => 'A_CON_ID', -- attribute on form related to primary key
    p_value => '= '|| v_con_id,
    p_language => portal30.wwctx_api.get_nls_language ,
                   p_index => 1
    l_fs := p_session.get_value_as_varchar2(p_block_name => 'MASTER_BLOCK', p_attribute_name => '_FORM_STATE');
    l_s := p_session.get_value_as_varchar2(p_block_name => 'MASTER_BLOCK', p_attribute_name => '_STATUS');
    if l_fs = 'SAVE' and l_s is null then
    WWV_MASTER_GENSYS_1(p_block_name => p_block_name,
    p_object_name => p_object_name,
    p_instance => p_instance,
    p_event_type => p_event_type,
    p_user_args => p_user_args,
    p_session => p_session);
    p_session.save_session;
    end if;
    if l_fs = 'QUERY_AND_SAVE' and l_s is null then
    WWV_MASTER_GENSYS_1(p_block_name => p_block_name,
    p_object_name => p_object_name,
    p_instance => p_instance,
    p_event_type => p_event_type,
    p_user_args => p_user_args,
    p_session => p_session);
    p_session.save_session;
    end if;
    exception
    when others then
    PORTAL30.wwerr_api_error.add(PORTAL30.wwerr_api_error.DOMAIN_WWV,'app','generic','onLink', p1 => sqlerrm);
    raise;
    end;
    --then create other md forms and publish as portlets in a similar manner.
    -- create a form (form_session_vars) to call procedure session_vars and place the following code in the
    addiontional pl/sql tab
    WWV_GENSYS_1(
    p_block_name => p_block_name ,
    p_object_name => p_object_name,
    p_instance => p_instance ,
    p_event_type => p_event_type ,
    p_user_args => p_user_args ,
    p_session => p_session);
    --then create a page and place the md forms created above as portlets on the page.
    --create a link and target the form_session_vars and in the link target inputs
    enter the values for your user parameters
    id= CON_ID --"your primary key name"
    p_url= url/page/"your_page"
    --finally create a report (QBE or standard).
    in the column formation section use the link created earlier to direct the user to the target page.
    How it works.
    When the link is selected the form_session_Var is called and automatically runs setting the primary key values
    in the user session store. The step is required or the resulting page will not render properly. Then the user is redirected to the page where the portlets are rendered. The portlets start rendering, the before display page calls the session vars package to retrieve the key and put the form into query_update mode returning the data.
    The portlets finish in query_and_save mode with details in update mode, the allowable insert, delete and none actions will be available for the details.
    benefits: The session_Var package code is resuable as well as the form form_session_Var and the link. passing the key name and values are done at the report level and detailed in the report links. the md forms will need to reference their related keys.

  • Dimension table is larger than the fact table

    Hi Community,
    How can we explain the phenomenon when a dimension table has MORE records in it than the fact table ?  What are the conditions that would cause this to occur ?
    Thank you !
    Keith

    Thanks, Bhanu,
    I am wondering specifically how to explain the output from program SAP_INFOCUBE_DESIGNS when the dimension table is shown to have a fact table ratio that is greater than 100%
    I believe that SAP_INFOCUBE_DESIGNS already takes into consideration both the E and also the F-fact table when calculating the ratio.  So in this case, we could not explain it by your first suggestion (after compression - but looking at only the F table).
    In the case where selective deletions have been performed, how can we correct the situation ?  For example, how could we clean out the records in the dimension tables which no longer have any facts in the fact table ?  (I think the BW system should do this automatically as a part of the selective deletion, don't you agree ?).
    Also, is there any other explanation for how the dimension table could arrive at greater than 100% the size of the fact table(s) ?
    For example, lets say that (theoretically) we placed many very dynamic characteristics together into the same dimension.. which we know you should not do.  Would it be possible for the combination of these very many dynamic characteristics to cause so many DIM IDs that the dimension table overtakes the record count of the fact table ?  Is this situation then made worse by compression if the number of fact table records is reduced thanks to removal of the request ID ?

Maybe you are looking for

  • InDesign thumbnails in Bridge CS4

    I've noticed that some InDesign CS2 and CS4 files do not show thumbnails in Bridge CS4. I tried the Build and Export Cache function in the Tools menu and nothing changed. Any suggestions? Also, I would be interested in a Bridge extension for harvesti

  • Passing parameters to the subject line of SmartForm in an email

    Hello Experts, Our SmartForm needs to be sent via email, & the subject line will be the Description of smartform. Now, I am fetching a value via code in a segement & need to pass this value to the subject line. I know it can be declared as &V1&, but

  • Scheduling Multiple Reports at Once

    Is it possible to schedule multiple reports at once - so if I have a set of 40 reports that make up a financial close book, can I just schedule the book? Thanks, Chris

  • Attachments in Bids

    Hi All, We would like to send attachments to the bidder/vendor while creating a bid. However we are unable to attach files. We would like to understand: 1. If any configurations need to be made in SRM to activate attachments such that files are sent

  • I have a error with my downloads of itunes on my PC. error 2324

    its not ledding me update and then i uninstalling and then redownloading it, but it dont let me uninstill it and now it wont let me open the app