JSF 2.0 Performance - Build View on postback

Hi,
we are currently looking at JSF 2.0 and it seems as if on every postback a buildView is executed instead of a restoreView, as it was the case with JSF 1.2. This unfortunately seems to have quite an impact on performance in regards to memory consumption and runtime. Is there a way to get back to the "old" JSF 1.2 behavior by setting a flag or something similar? Until now, we could not find such an option.
Thanks and regards,
Michael

Set the javax.faces.PARTIAL_STATE_SAVING context init parameter to false.

Similar Messages

  • JSF 1.2 performance is not adequate

    Sun JSF developers...
    JSF 1.2 performance is not adequate.
    Here is a simple use case to prove:
    Render a table with ~100 columns and ~1000 rows (with facelets)
    (you could increase the numbers to stress test)
    using h:dataTable tag.
    You have to repeat h:column hundred times in XHTML (to create bigger
    UI component tree).
    Have a backing bean with 100 properties and JSF action which returns
    list of 1000 those beans.
    In this case there is no DB interaction, no back-end involved.
    Have your application set up with Ajax4Jsf (so it goes via its filter). You could
    also compare the results with and without it.
    Measure RENDER RESPONSE phase, and overall response time.
    Compare with JSP which renders same table from same bean.
    This is very simple test case to write and you will see that JSF in current state is really slow.
    This test could also be used to measure performance of new versions to see where they stand.
    It would be also interesting to see how render time grows with increase of
    number of columns (number of components in UI tree) (Is it linear or not?)
    How fast does it grow with the number of rows (Is it linear growth with increase of data size?)
    I believe this type of tests should be standardized before each release.
    Does JSF development team perform regular profiling of JSF RI java code?
    Running profiling for this use case could also reveal interesting things which
    could be improved.
    Regards,
    --MG                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    But you have done nothing here to determine if itscales linearly or not.
    See below.
    You increase number of columns (rows) and measure
    time.
    When you draw on a chart how time grows with increase
    in number of columns (rows) you will see if it linear
    or not.
    I understand how to determine the growth rate; I was merely pointing out that you have only claimed to run one test and one cannot determine the growth rate from that.
    It would be also interesting to see how render timegrows with increase of
    number of columns (number of components in UI tree)(Is it linear or not?)
    How fast does it grow with the number of rows (Isit linear growth with increase of data size?)
    Unless you are talking about spreadsheets I doubtthese apps are useful.
    They are very useful.I bet they would be more useful as native desktop apps.
    >
    But this is besides the point; my point is that thescenario of having a large number of components on a
    page does not occur often in real applications.
    Really? You are not serious?Yes I am serious. I can see we have different perspectives here.
    >
    A much more common performance scenario is highload.
    This is separate story. I'm talking about latency of
    loading one page.
    Please do not confuse latency and bandwidth.I am not talking about bandwidth but throughput.
    >
    BTW most of the web sites have small number of
    concurrent users,
    so the most common scenario is actually exactly
    opposite.
    Low load but complex pages with lots of components on
    them.Again, I can see we have different perspectives here. My experiences are the opposite.
    >
    So your results will be much more useful if youinclude a load test on a moderately sized page. I'm
    not dismissing your original test as invalid or
    useless.
    My results are more useful than what you are
    proposing, as they help to pinpoint the cause of
    latency. You could run my test with profiler and
    investigate the root cause of it.You do not need to increase the number of components on the page to numbers beyond practice in order to determine this. It is sufficient to run profilers on average pages many times and determine where the most time is spent. In fact, your approach may result in an implementation optimized for pages with a large number of components but not for pages with a lower number of components.
    >
    My point is that the user experience is not degradedby the performance but by the poor presentation of
    information. Many web browsers to not take kindly to
    such large tables as well.
    With JSF user experience is degraded by performance.I'd like to see your numbers and the code you used.
    JSF makes it easier
    to do nicer user presentation, but performance
    suffers to degree that it is not usable in number of
    cases.
    JSF inability to generate page fast on server side
    has nothing to do with browsers.Correct; but I was talking about pages with large tables in general and why they are a bad idea for web applications. A native application is more appropriate. But this is orthogonal to the purpose of this thread.
    >
    Again, you are missing the point. Perhaps JSFperformance differs between the application servers.
    A fair and useful test will determine that. I'm not
    talking about the relative performance vs JSP here.
    If JSF does things inefficiently in its code it will
    show consistently bad results
    across all app servers. Again my test is to detect
    and pinpoint JSF inefficiencies and not app servers
    ones.
    Don't you think JSF developers would want to look for
    it first rather than investigating why it perform
    badly on some particular app server because of
    its internal reasons.I'm approaching this from the perspective of a developer evaluating whether to use JSF and which application server to use. This is very useful from this point of view.
    As far as the JSF developers go, as I noted above one does not need to scale out the number of components on the page to determine performance bottlenecks in the implementation. An average case is more appropriate.
    Also, if you are going to compare JSF to other technologies you need to try a variety of platforms for both. Some application servers might do JSP better than others. If you limit yourself to one platform you run the risk that it is skewing the comparison one way or another.

  • Workforce Performance Builder

    Hi All - first time poster,
    This is the first time my colleagues and I are building out SAP Training material using Workforce Performance Builder.  We have a few questions that we are hoping the experts can help us with:
    1.  Within a central work area, we have been successful creating users and assigning roles.  The Administrator roles can easily download and upload content to the central work area from their pcs.  However, we are having difficulty with the users that are assigned Master Author or Standard Author.  When either author role attempts to connect to the central work area, the option to download resources and content is not presented.  This is an issue as we need to have Standard Authors access the Book(course)/Project(BPP) folder structure in the Project Explorer in order for them to record the BPPs.  Are we missing a step?  Why don't authors have access to the course/BPP structure?  When I try to assign a BPP task to a user I've created, an email is not generated and nothing occurs.  Please help.
    2. Second question is around "Packaging Courses" for upload to a separate LMS.  In other instructional design tools, once the courses are built out, and BPPs are linked into the courses, there is an option to publish a Packaged Course, as a single file, for upload to an LMS.  How is this done in WPB?
    3.  The client requires adjustments made to the documentation templates.  Simple adjustments like additional auto-populated fields derived from the recording or from the Project Editor screen.  Items such as:  Description, Purpose, Role, and Tips need to be populated into the Project documentation but we cannot find a way to incorporate these items into all documentation without first publishing to MS Word.  The issue is if edits to the recording are made, and a republish is required, any information inserted into previously published Word doc is not carried over to the new version.... unless we can find a way to populate these new fields from the Project Editor.  Please help.
    Thank you in advance for your help!!!
    AJA

    Hi Stephen,
    1) Can WPB profiles be customized to match any software? Currently WPB does a great job of pulling in captions and buttons from MS Office and SAP. Our client is in the healthcare space though and was wondering if we could create a profile specific to EPIC software.
    Yes, we can generate profiles for all applications including AS400 or very old DOS based application.
    Please keep in mind, application profile is an additional service and needs to be delivered by SAP direct.
    In case you like to push context sensitive help to your users, its maybe limited.
    The official supported applications you will find in the Help.
    Please let me know when you need help in this scenario.
    2) How are users typically brought in to Manager? I know there's the option to import Excel files; below that is an option to "ldap import and sso set up." How would that work? Specifically the client asked if they could use an Active Server Directory to manage their users.
    Typically different scenarios possible:4
    Company Member login via AD Account which is maintained by the IT department,
    Contractor using self-registration or Excel import.
    I have implemented many times the full solution, most of the customer using AD import.
    Please let me know you are SAP employee or external.
    Maybe you will join one of our consultant enablement courses.
    BR Thomas

  • How to implement 'Context Sensitive Help' for Workforce Performance Build Tool.

    Hi Gurus,
    We have a requirement to implement ‘Context Sensitive Help’ for Workforce Performance Build Tool. Please let me know how to go about implementing the "Context Sensitive Help".
    It will be great if you can share some links to the documents and screenshots.
    Thanks,
    Sanjiv Karmakar

    Hi Sanjiv,
    do you you mean expand the Help Menu => Pull Help or do you mean
    EPSS => push Help?
    in case pull help please tell me exactly which system GUI or EP and version you are using.
    many different scenarios are possible.
    Tom
    P.S. Please take care of  the name is Workforce Performance Builder or maybe in-official WPB.
    many people ask in the HCM area for help, this is the reason why we do not observe all discussion.
    The name in the title will help us to find your questions on time.

  • Cannot perform cube view operation, null

    Hi There,
    Users use SmartView connect to the 11.1.1.3 cube, but get the following error:
    "Cannot perform cube view operation, null"
    Any advice?
    Thanks

    It is a stupid meanless message for the real issues. The users have suppress missing turned on on an intinal retrieve and nothing is returned. Turn off suppress missing in the options and the users should be fine.

  • Is it possible to use a JSF Validator to perform a Dependency validation?

    I'm new to JSF, but getting more and more experience everyday. I've create some custom validators for a few input fields on my form and they are working beautifully. What I can't figure out is how to write a validator that will check a field for a value based on another fields value. For instance, I would like to require a person to enter an address if they select a Yes / No select box indicating they would like to supply an address.
    Does anyone know how I can do this? I've come up with a clunky work around by performing my dependency validations in my action page rather than a validator.
    Thanks!!!!

    Hi RaymondDeCampo.
    I have never been a big fan of how JSF (and even Struts)handle forms both in the front (the view) and the back.
    Forcing the developer to contend with writing a java class for each thinkable form does not look like a workable pattern to me. And tying the view (JSP or JSF page) tightly to the form classes and validators is also cumbersome.
    In many decent applications, the number of forms grows to more than a tiny handful and so would the number of classes that simply act as dummy data carriers.
    I do not see why I should have to maintain all the accompanying classes and validators and JSP code that each form comes with. Making changes to the structure of a form (say adding new fields or removing others, or even adding whole form pages into the sequence), modifying the model of a form (like renaming fields, adding new validation rules), or changing form view (e.g. switching from a list of checkboxes to a select dropdown, changing how and where error messages are presented, supporting a new language) are just some of those things that become tedious to maintain sentrally.
    No other model of building forms out there makes the named tasks any simpler, aprt from adding a new level of complexity to the simple data collection purpose of web forms. Well, except Formular. I have had Formular working in JSF and Struts although I ended up ditching the JSF way of handling forms altogether.
    I prefer good and solid separation of form components as outlined by Formular. Formular is the only API out that would allow me to migrate my forms from any Java web server to another without having to rewrite a line of code. Try upgrading your Struts form to JSF or vise versa and you'll get the idea of why I dropped the more hardwired way of coding web forms.
    With Formular, I have created a repository of validators (for doing my form checks). datasources (for populating lists, radios, checkboxes, and combos), and styles (for laying out my form elements). Making modifications to my repositories, I can do site-wide changes without touching my JSPs or Java classes. I can move form messages from the top of ALL my forms and place them just above the offending fields in one single style file, I can swap the markers on optional fields and use them only on required fields if the business manager wants to in a single go, I can even change validation rules that are attached to several fields in different web forms at one instance (how many hours did we save when one client wanted all buttons in the site changed to GIFs and all phone and address fields in their application and survey forms validated a little different?)
    Ack! Now It looks like I'm preaching, again so I'll hold myself.

  • Crystal Report Viewer 2008, postback causes a weird QueryString for dates

    HI,
    I'm having a weird problem that was masked with the error "".
    What is happening to me is that i have an ASPX page where the QueryString passed in is used as parameters to the report (straightforward).  When the page first loads, this is all fine the QuerySTring is properly parsed and the report is properly displayed.  Now, the problem comes when i click on the PRINT Button it performs a postback, and during that postback the querystring is read so that it can rebuild the report on the postback.  (In previous versions of crystal, this has always worked).  The issue here is that the version 12 of the report viewer here now appears to also append some information to the query string that was not previously there (like this:  ServletTask=Print&cmd=get_pg&page=1)  So the problem here for me is this is what my original QueryString looks like:
    tokenid=b2817081-6b52-43c7-8e2c-d6209af2ed98&Type=Appointment&Val=12%3b1%3b1%3b06%2f10%2f2000
    THat query string is generated by the following code (pre-encoded)
    "PrintPage.aspx?tokenid=" & Guid.NewGuid.ToString & "&Type=Appointment&Val=" & "12" & ";" & "1" & ";" & "1" & ";" & "1/1/2000"  (NOTE the date here, i'll get to that in a second)
    Then, what the problem is on the postback the Query String looks like this:
    tokenid=2a4f42de-bd90-48b5-ac82-bd34b503afd3&Type=Appointment&Type=Appointment&Val=12%3b1%3b1%3b1%2f1%2fPrintPage.aspx%3ftokenid%3d2a4f42de-bd90-48b5-ac82-bd34b503afd3&Val=12%3b1%3b1%3b1%2f1%2f2000&ServletTask=Print&cmd=get_pg&page=1
    As you can see here it's all messed up.
    So, what i found here is that the underlying cause is that we are passing a "date" in the original QueryString and it seems on the postback the Crystal Reports Viewer is having some issue with that and basically messes up the query string...
    I have Crystal Reports 2008/SP3 installed.
    Any help would be greatly appreciated.
    Thanks

    Cleaning up these forums I came across this unanswered thread.
    Very weird behavior that I have seen maybe 3 or 4 years ago - I think it was with opendocument.aspx...
    In this case, we appear to be re-adding the querystring with the aspx name and question mark (u2026.parentagesu2026).  Having two question marks (%3f) is essentially a malformed URL since this indicates where the querystring starts.
    The duplicate querystring may have been a coding error(?) where it gets added again on a postback.
    Were you able to resolve the issue?
    Ludek

  • Performance of view wwsbr_all_folders very bad when user is public

    I have some routines that build navigation components based upon selects from the view
    wwsbr_all_folders
    They work great after a user is logged in, but if the user is public, the performance is extremely slow. It is so slow that the page often times out and it affects other users on the site.
    Is there a way to improve the performance of this view for public access?

    I was able to cut the time a select takes for public to 1/3 of what wwsbr_all_folders by doing the following:
    create or replace function return_1_not_logged_on return number
    is
    retval number(1) := 1;
    begin
    if wwctx_api.is_logged_on then
    retval := 0;
    end if;
    return retval;
    end;
    and add the following line to the where clause of wwsbr_all_folders (I actually created another view, pg_v);
    AND c.ispublic = decode(return_1_not_logged_on, 1, 1, c.ispublic)
    -this is not a perfect answer, but it won't give access to pages that are public due to inheritance, only due to the checkbox on the page itself.
    Still it has now gone from about 9 seconds to about 3 seconds for a public user, but a logged in user takes virtually no time (set timing on displays Elapsed: 00:00:00.00);
    So, digging a little deeper, I see that wwsbr_all_folders is based on WWV_USER_CORNERS which is a view 2 pages long and has three unions, plus multiple calls to security packages.
    Portal must do something else as it decides whether to display a page to a public user. Does anyone know what that might be?

  • Jsf 1.1 to jsf 1.2 migration - from-view-id and wildcards

    In our jsf application, we have a lot of navigation cases that use:
    <from-view-id>*</from-view-id>
    This worked in JSF 1.1, but now trying to get things to work with jsf 1.2 in glassfish v2 (build 19) I am seeing this error/stacktrace in the server.log file (which points at the 1st faces-config.xml case of a * in the from-view-id tag):
    javax.faces.FacesException: Can't parse configuration file: jndi:/server/talkshoe/WEB-INF/faces-config.xml: Error at line 1482 column 31: cvc-pattern-valid: Value '*' is not facet-valid with respect to pattern '#\{.*\}'.
         at com.sun.faces.config.ConfigureListener.parse(ConfigureListener.java:1587)
    From the documentation that I have found, it looks like * is still the valid wildcard...
    Has anyone else hit this issue or have any other suggestions?
    Thanks.
    Rich K.

    I'm currently migrating to 1.2. Our wildcard navigations are working with * or by omitting the from-view specifier as specified (section 7.4.2 of JSF 1.2).
    One of my rules wasn't producing an outcome because I had from-action instead of from from-outcome, but after I changed this it worked fine.
    This was with Netbeans 5.5 running SAS and JSF 1.2.

  • 10.1.3.1 : JSF migration issues : "awijeyek build" versus "sobryan build"

    hi
    I've noticed, and read about, some issues with adf-faces-impl.jar and jsf-impl.jar when migrating between recent JDeveloper versions.
    If I create a simple JSF JSP page in "JDev 10.1.3" and I "migrate" that to "JDev 10.1.3.1" I observe what has been described in bug 5607187 on October 18, 2006. The project in "JDev 10.1.3", before migration, contains "adf-faces-impl.jar 10_1_3_0_4" and "jsf-impl.jar 1_1". The migrated project in "JDev 10.1.3.1" contains the new "adf-faces-impl.jar 10_1_3_1_0 sobryan", but still the old "jsf-impl.jar 1_1" instead of "jsf-impl.jar 1.1_02-b08".
    Using the same scenario, I migrate from "JDev 10.1.3.1 developer preview" to "JDev 10.1.3.1". The project in "JDev 10.1.3.1 developer preview", before migration, contains "adf-faces-impl.jar 10_1_3_1_0 awijeyek". The migrated project in "JDev 10.1.3.1" still contains "adf-faces-impl.jar 10_1_3_1_0 awijeyek" and not "adf-faces-impl.jar 10_1_3_1_0 sobryan". (They both use "jsf-impl.jar 1.1_02-b08".)
    This causes the following exception when I run the migrated application:
    java.lang.NoSuchMethodError: oracle.adf.view.faces.context.AdfFacesContextFactory.createContext(Ljava/lang/Object;Ljava/lang/Object;)Loracle/adf/view/faces/context/AdfFacesContext;
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:187)
    at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:106)
    ...This seems to be caused by an API change in AdfFacesContextFactory:
    In "JDev 10.1.3.1 developer preview" adf-faces-api.jar\oracle\adf\view\faces\context\AdfFacesContextFactory.class the createContext() methods looks like
    public abstract oracle.adf.view.faces.context.AdfFacesContext createContext(java.lang.Object p1, java.lang.Object p2) { }While in "JDev 10.1.3.1" adf-faces-api.jar\oracle\adf\view\faces\context\AdfFacesContextFactory.class the createContext() methods looks likepublic abstract oracle.adf.view.faces.context.AdfFacesContext createContext(oracle.adf.view.faces.webapp.wrapper.ContextWrapper p1, oracle.adf.view.faces.webapp.wrapper.RequestWrapper p2) { }This method gets called by oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl which is in adf-faces-impl.jar that has a migration issue as explained above.
    The embedded OC4J also displays this warning:WARNING: Code-source D:\oracle\jdevstudio10131\jlib\adf-faces-impl.jar (from <classpath> in D:\temp\JSFMigrationIssue10131dp-mig10131\View\public_html) has the same filename but is not identical to /D:/temp/JSFMigrationIssue10131dp-mig10131/View/public_html/WEB-INF/lib/adf-faces-impl.jar
    (from WEB-INF/lib/ directory in D:\temp\JSFMigrationIssue10131dp-mig10131\View\public_html\WEB-INF\lib). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.JSFMigrationIssue10131dp-View-webapp:0.0.0.(*) workaround
    Manually replacing the adf-faces-impl.jar in the WEB-INF\lib folder of my project with the one in the "JDev 10.1.3.1"\jlib folder solved my "NoSuchMethodError" problem.
    (*) suggestion
    Maybe some of this deserves a place on
    http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.1/10.1.3.1addendum.html
    (*) about the versions
    "JDev 10.1.3" = JDeveloper 10g Studio Edition Version 10.1.3.0.4 (SU5) : Build JDEVADF_10.1.3_NT_060125.0900.3673
    "JDev 10.1.3.1 developer preview" = Oracle JDeveloper Developer Preview Studio Edition Version 10.1.3.1.0.3914 : Build JDEVADF_10.1.3.1.0_NT_060807.1321.3914
    "JDev 10.1.3.1" = JDeveloper Studio Edition Version 10.1.3.1.0.3984 : Build JDEVADF_10.1.3.1.0_NT_061009.1404.3984
    (*) about JAR files
    - "adf-faces-impl.jar 10_1_3_0_4" = "JDev 10.1.3" adf-faces-impl.jar\META-INF\MANIFEST.MF
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.5.3
    Created-By: Apache Maven
    Built-By: awijeyek
    Package: oracle.adfinternal.view.faces
    Build-Jdk: 1.4.2_09
    Extension-Name: adf-faces-impl
    Specification-Title: ADF Faces Implementation
    Specification-Vendor: Oracle Corporation
    Implementation-Title: oracle.adfinternal.view.faces
    Implementation-Vendor: Oracle Corporation
    Implementation-Version: 10_1_3_0_4- "jsf-impl.jar 1_1" = "JDev 10.1.3" jsf-impl.jar\META-INF\MANIFEST.MF
    Manifest-Version: 1.0
    Created-By: Apache Ant 1.5.1
    Specification-Title: JavaServer Faces
    Specification-Version: 1.1
    Implementation-Title: 'jsf-impl': JavaServer Faces RI
    Implementation-Version: 1_1
    Implementation-Vendor: Sun Microsystems, Inc.
    Implementation-Vendor-Id: com.sun
    Extension-Name: com.sun.faces- "adf-faces-impl.jar 10_1_3_1_0 awijeyek" = "JDev 10.1.3.1 developer preview" adf-faces-impl.jar\META-INF\MANIFEST.MF
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.5.3
    Created-By: Apache Maven
    Built-By: awijeyek
    Package: oracle.adfinternal.view.faces
    Build-Jdk: 1.4.2_12
    Extension-Name: adf-faces-impl
    Specification-Title: ADF Faces Implementation
    Specification-Vendor: Oracle Corporation
    Implementation-Title: oracle.adfinternal.view.faces
    Implementation-Vendor: Oracle Corporation
    Implementation-Version: 10_1_3_1_0- "jsf-impl.jar 1.1_02-b08" = "JDev 10.1.3.1 developer preview" jsf-impl.jar\META-INF\MANIFEST.MF (exactly the same file in "JDev 10.1.3.1")
    Manifest-Version: 1.0
    Created-By: Apache Ant 1.5.1
    Specification-Title: JavaServer Faces
    Specification-Version: 1.1
    Implementation-Title: 'jsf-impl': JavaServer Faces RI
    Implementation-Version: 1.1_02-b08
    Implementation-Vendor: Sun Microsystems, Inc.
    Implementation-Vendor-Id: com.sun
    Extension-Name: com.sun.faces- "adf-faces-impl.jar 10_1_3_1_0 sobryan" = "JDev 10.1.3.1" adf-faces-impl.jar\META-INF\MANIFEST.MF
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.5.3
    Created-By: Apache Maven
    Built-By: sobryan
    Package: oracle.adfinternal.view.faces
    Build-Jdk: 1.4.2_09
    Extension-Name: adf-faces-impl
    Specification-Title: ADF Faces Implementation
    Specification-Vendor: Oracle Corporation
    Implementation-Title: oracle.adfinternal.view.faces
    Implementation-Vendor: Oracle Corporation
    Implementation-Version: 10_1_3_1_0(*) about the scenario
    I created a simple JSPX document using the "Create JSF JSP wizard". On the "Create JSF JSP - Stef 4 of 5: Tag Libraries" panel I selected "ADF Faces Components <version>" and "ADF Faces HTML <version>". In "JDev 10.1.3" this version was "10_1_3_0_4", In "JDev 10.1.3.1 developer preview" and "JDev 10.1.3.1" this version was "10_1_3_1_0". I also added a PanelPage component from the "ADF Faces Core" component pallet.
    (*) about migration
    Migrating to another JDeveloper version is just opening the application (.jws file) in the new JDeveloper. I got an "Open Warning" that says "You are about to migrate the application <path>\JSFMigrationIssue.jws to JDeveloper version 10.1.3.1.0 file format. ..." where I answer "Yes" to the question "Do you want to migrate these files?". After that I get "Migration successfilly completed for the following file(s): ...".
    (*) related threads
    "ADF Faces; how to see bug fix in 10.1.3.1 (need to manually copy jars?)"
    ADF Faces; how to see bug fix in 10.1.3.1 (need to manually copy jars?)
    "10.1.3.1 first crash after migration"
    10.1.3.1 first crash after migration
    regards
    Jan Vervecken

    Jan, <br>
    <br>
    yes that's correct. <br>
    Bug 5615982 is about migrating from JDeveloper 10.1.3.1 Developer's Preview (Build 3914), as the symptom and the fix are different when migrating from JDeveloper 10.1.3.0 (Bug 5607187) or 10.1.3.1 Developer's Preview - see details [Here]<br>
    <br>
    Bug 5615982 is now available on MetaLink. <br>
    We also published an Alert Note 395980.1<br>
    <br>
    FYI, the content of MetaLink is refreshed every 2 hours (00:20, 02:20, ..., 12:20, ... 22:20 - GMT time)<br>
    <br>
    Regards, <br>
    <br>
    Didier.<br>

  • Building Views vs Multiple sources as Logical tables

    I am building logical tables that could have many physical sources. Is there any benefit to making a single view and using it as a single source?

    hi,
    Always is better to do things in database,for many reasons....
    1.performance
    2.maintenace....
    My opinion is better to do a final fact table which contains data from all the sources..and use this table as your fact table in the bussiness solution.not view,not many sources.You can make aggregates tables,put indexes and in generall is more simple and it contains all the benefits of a STAR SCHEMA..
    hope i helped...
    http://greekoraclebi.blogspot.com/

  • [sql performance] inline view , group by , max, join

    Hi. everyone.
    I have a question with regard to "group by" inline view ,
    max value, join, and sql performance.
    I will give you simple table definitions in order for you
    to understand my intention.
    Table A (parent)
    C1
    C2
    C3
    Table B (child)
    C1
    C2
    C3
    C4 number type(sequence number)
    1. c1, c2, c3 are the key columns of tabla A.
    2. c1, c2, c3, c4 are the key columns of table B.
    3. table A is the parent table of Table B.
    4. c4 column of table b is the serial number.
    (c4 increases from 1 by "1" regarding every (c1,c2,c3)
    the following is the simple example of the sql query.
    select .................................
    from table_a,
    (select c1, c2, c3, max(c4)
    from table_b
    group by c1, c2, c3) table_c
    where table_a.c1 = table_c.c1
    and table_a.c2 = table_c.c2
    and table_a.c3 = table_c.c3
    The real query is not simple as above. More tables come
    after "the from clause".
    Table A and table B are big tables, which have more than
    100,000,000 rows.
    The response time of this sql is very very slow
    as everyone can expect.
    Are there any solutions or sql-tips about the late response-time?
    I am considering adding a new column into "Table B" in
    order to identify the row, which has max serial number.
    At this point, I am not sure adding a column is a good
    thing in terms of every aspect.
    I will be waiting for your advice and every response
    will be appreciated even if it is not the solution.
    Have a good day.
    HO.
    Message was edited by:
    user507290

    For such big sources check that
    1) you use full scans, hash joins or at least merge joins
    2) you scan your source data as less as possible. In the best case each necessary table only once (for example not using exists clause to effectively scan all table via index scan).
    3) how much time you are spending on sorts and hash joins (either from v$session_longops directly or some tool that visualises this info). If you are using workarea_size_policy = auto, probably you can switch to manual for this particular select and adjust sort_area_size and hash_area_size big enough to do as less as possible sorts on disk
    4) if you have enough free resources i.e. big box probably you can consider using some parallelism
    5) if your full scans are taking big time check what is your db_file_multiblock_read_count, probably increasing it for this select will give some gain.
    6) run trace and check on what are you waiting for
    7) most probably your problem is IO bound so probably you can do something from OS side to make IO faster
    8) if your query now is optimized as much as you can, disks are running as mad and you are using all RAM then probably it is the most you can get out of your box :)
    9) if nothing helps then you can start thinking about precalculations either using your idea about derived column or some materialized views.
    10) I hope you have a test box and at least point (9) do firstly on it and see whether it helps.
    Gints Plivna
    http://www.gplivna.eu

  • Performance building Tile Flex 3 and List Flex 4

    Hi,
    I'm writing aplication in FlashBuilder, I see that building Tile with repeaters(Flex 3) is 3-4 time faster that FB
    and I don't know what I do wrong,
    it is My Code in Flex 3
    <mx:Tile>
                    <mx:Repeater id="dayRepeater" dataProvider="{ arr }" >
                        <mx:Canvas width="78" height="38" horizontalScrollPolicy="off" verticalScrollPolicy="off" >
                              <calendar:CalRenderer dataProvider = "{ dayRepeater.currentItem as DataVO }"/>
                        </mx:Canvas>
                    </mx:Repeater>
                </mx:Tile>
    and inside repeater is following code
    <mx:Canvas>
            <mx:Image x="0" y="0" width="78" height="38" source="{ dataProvider.renBackUrl}" scaleContent="true" maintainAspectRatio="false" verticalAlign="middle" horizontalAlign="center"/>
        </mx:Canvas>
        <mx:Canvas x="{dataProvider.imgIcoX}" y="{dataProvider.imgIcoY}" width="24" height="26">
            <mx:Image width="20" height="20" source="{ dataProvider.holyico}" horizontalCenter="0" verticalCenter="0" verticalAlign="middle" horizontalAlign="center"/>
        </mx:Canvas>
        <mx:Text id="renTxt" styleName="{dataProvider.txtIdFont}" x="{dataProvider.txtIdX}" y="{dataProvider.txtIdY}" text="{dataProvider.id}" width="51.5" height="34.149994" fontSize="22"  textAlign="right"  fontWeight="normal" color="{dataProvider.renMainTxtColor}" selectable="false"/>
        <mx:Text styleName="{dataProvider.txtNameFont}" x="{dataProvider.txtNameX}" y="{dataProvider.txtNameY}" text="{dataProvider.names}" width="100%" height="10.799999" fontSize="6" textAlign="right" color="{dataProvider.renMainTxtColor}" selectable="false"/>
        <mx:TextArea styleName="{dataProvider.txtHolyFont}" x="{dataProvider.txtHolyX}" y="{dataProvider.txtHolyY}" width="80" height="13.099998" text="{dataProvider.holy}" fontSize="7"  borderStyle="none" backgroundAlpha="0.0" editable="false" cornerRadius="0" color="{dataProvider.renMainTxtColor}" textAlign="right" selectable="false"/>
    In the FB4 the code looks like this
    <s:List id="myList" height="100%" width="100%" x="17" y="30"
                   dataProvider="{arr}"
                itemRenderer="gui.views.ProjectView.CalItemRenderer" >
            <s:layout>
                <s:TileLayout/>
            </s:layout>
        </s:List>
    and renderer look.
        <mx:Canvas>
            <mx:Image x="0" y="0" width="78" height="38" source="{ dataProvider.renBackUrl}" scaleContent="true" maintainAspectRatio="false" verticalAlign="middle" horizontalAlign="center"/>
        </mx:Canvas>
        <mx:Canvas x="{data.imgIcoX}" y="{data.imgIcoY}" width="24" height="26">
            <mx:Image width="20" height="20" source="{ data.holyico}" horizontalCenter="0" verticalCenter="0" verticalAlign="middle" horizontalAlign="center"/>
        </mx:Canvas>
        <!--<s:Rect width="50" height="50" fill.normal="{fill}" fill.hovered="{overfill}" fill.selected="{fill}" bottomLeftRadiusX="5" topRightRadiusX="5" stroke="{borderStroke}"/>-->
        <!--<s:Label text="{data.maskPrvUrl}" color.hovered="0x1313cd" color.selected="0x000000" verticalAlign="bottom"/>-->
        <s:TextArea styleName="{data.txtIdFont}"   x="{data.txtIdX}"   y="{data.txtIdY}"   text="{data.id}"    width="51.5" height="34.149994" fontSize="22" borderVisible="false" borderAlpha="0.0" textAlign="right" color="{data.renMainTxtColor}" fontWeight="normal"  editable="false" selectable="false" contentBackgroundAlpha="0"/>
        <s:TextArea styleName="{data.txtNameFont}" x="{data.txtNameX}" y="{data.txtNameY}" text="{data.names}" width="100%" height="10.799999" fontSize="6"  borderVisible="false" borderAlpha="0.0" textAlign="right" color="{data.renMainTxtColor}" editable="false" selectable="false" contentBackgroundAlpha="0"/>
        <s:TextArea styleName="{data.txtHolyFont}" x="{data.txtHolyX}" y="{data.txtHolyY}" text="{data.holy}"  width="80"   height="13.099998" fontSize="7"  borderVisible="false" borderAlpha="0.0" textAlign="right" color="{data.renMainTxtColor}"  editable="false" selectable="false" contentBackgroundAlpha="0"/>
    arr is ArrayCollection;
    Generaly when I run aplication made witth Flex 3 - Tile is completed after  2-3 sec. In FB4 with SDK10485 - after 6-7 sec.!!!
    Do you have any idea?
    Thx
    Chris

    for info my ArrayCollectio has about 30 indexes
    I found solution.
    I made some test with different text Components (Fx 3 & 4)
    My conclusion is.
    <s:TextArea - create longer that  <mx:TextArea, <s:Label
    I change <s:TextArea to <mx:TextArea  in the ItemRenderer. - now is OK.
    Chris

  • Performance on views

    Hello All,
    We noticed performance issue when tryi ng to select data from a view. Below is the detail on this view:
    1. View Definition:
    CREATE OR REPLACE FORCE VIEW baninst1.sgvacur (sgvacur_pidm,
                                                   sgvacur_seqno,
                                                   sgvacur_lmod_code,
                                                   sgvacur_term_code,
                                                   sgvacur_key_seqno,
                                                   sgvacur_priority_no,
                                                   sgvacur_roll_ind,
                                                   sgvacur_cact_code,
                                                   sgvacur_user_id,
                                                   sgvacur_data_origin,
                                                   sgvacur_activity_date,
                                                   sgvacur_levl_code,
                                                   sgvacur_coll_code,
                                                   sgvacur_degc_code,
                                                   sgvacur_term_code_ctlg,
                                                   sgvacur_term_code_end,
                                                   sgvacur_term_code_matric,
                                                   sgvacur_term_code_admit,
                                                   sgvacur_admt_code,
                                                   sgvacur_camp_code,
                                                   sgvacur_program,
                                                   sgvacur_start_date,
                                                   sgvacur_end_date,
                                                   sgvacur_curr_rule,
                                                   sgvacur_rolled_seqno,
                                                   sgvacur_rowid,
                                                   sgvacur_order,
                                                   sgvacur_active_ind,
                                                   sgvacur_stdn_rowid,
                                                   sgvacur_stdn_term_code_eff,
                                                   sgvacur_styp_code_stdn,
                                                   sgvacur_site_code,
                                                   sgvacur_rate_code,
                                                   sgvacur_styp_code,
                                                   sgvacur_leav_code,
                                                   sgvacur_leav_from_date,
                                                   sgvacur_leav_to_date,
                                                   sgvacur_exp_grad_date,
                                                   sgvacur_term_code_grad,
                                                   sgvacur_acyr_code,
                                                   sgvacur_appl_key_seqno,
                                                   sgvacur_appl_seqno,
                                                   sgvacur_majr_code_1,
                                                   sgvacur_dept_code_1,
                                                   sgvacur_curr_rule_majr_1,
                                                   sgvacur_majr_code_2,
                                                   sgvacur_curr_rule_majr_2,
                                                   sgvacur_dept_code_2,
                                                   sgvacur_majr_code_minr_1,
                                                   sgvacur_curr_rule_minr_1,
                                                   sgvacur_majr_code_minr_2,
                                                   sgvacur_curr_rule_minr_2,
                                                   sgvacur_majr_code_conc_1,
                                                   sgvacur_curr_rule_conc_1,
                                                   sgvacur_attach_majr_conc_1,
                                                   sgvacur_majr_code_conc_2,
                                                   sgvacur_curr_rule_conc_2,
                                                   sgvacur_attach_majr_conc_2,
                                                   sgvacur_majr_code_conc_3,
                                                   sgvacur_curr_rule_conc_3,
                                                   sgvacur_attach_majr_conc_3,
                                                   sgvacur_majr_code_conc_4,
                                                   sgvacur_curr_rule_conc_4,
                                                   sgvacur_attach_majr_conc_4,
                                                   sgvacur_majr_code_conc_5,
                                                   sgvacur_curr_rule_conc_5,
                                                   sgvacur_attach_majr_conc_5,
                                                   sgvacur_majr_code_conc_6,
                                                   sgvacur_curr_rule_conc_6,
                                                   sgvacur_attach_majr_conc_6
    AS
       SELECT sorlcur_pidm, sorlcur_seqno, sorlcur_lmod_code, sorlcur_term_code,
              sorlcur_key_seqno, sorlcur_priority_no, sorlcur_roll_ind,
              sorlcur_cact_code, sorlcur_user_id, sorlcur_data_origin,
              sorlcur_activity_date, sorlcur_levl_code, sorlcur_coll_code,
              sorlcur_degc_code, sorlcur_term_code_ctlg, sorlcur_term_code_end,
              sorlcur_term_code_matric, sorlcur_term_code_admit,
              sorlcur_admt_code, sorlcur_camp_code, sorlcur_program,
              sorlcur_start_date, sorlcur_end_date, sorlcur_curr_rule,
              sorlcur_rolled_seqno, sorlcur.ROWID,
              sb_curriculum.f_lcur_order (sgbstdn_pidm,
                                          sb_curriculum_str.f_learner,
                                          sorlcur_term_code,
                                          99,
                                          sorlcur.ROWID,
                                          sgbstdn_term_code_eff
              sobcact_active_ind, sgbstdn.ROWID, sgbstdn_term_code_eff,
              sgbstdn_styp_code, NVL (sorlcur_site_code, sgbstdn_site_code),
              NVL (sorlcur_rate_code, sgbstdn_rate_code), sorlcur_styp_code,
              NVL (sorlcur_leav_code, sgbstdn_leav_code),
              NVL (sorlcur_leav_from_date, sgbstdn_leav_from_date),
              NVL (sorlcur_leav_to_date, sgbstdn_leav_to_date),
              NVL (sorlcur_exp_grad_date, sgbstdn_exp_grad_date),
              NVL (sorlcur_term_code_grad, sgbstdn_term_code_grad),
              NVL (sorlcur_acyr_code, sgbstdn_acyr_code), sorlcur_appl_key_seqno,
              sorlcur_appl_seqno, prim_major.sorlfos_majr_code,
              prim_major.sorlfos_dept_code, prim_major.sorlfos_lfos_rule,
              sec_major.sorlfos_majr_code, sec_major.sorlfos_dept_code,
              sec_major.sorlfos_lfos_rule, prim_minor.sorlfos_majr_code,
              prim_minor.sorlfos_lfos_rule, sec_minor.sorlfos_majr_code,
              sec_minor.sorlfos_lfos_rule, prim_conc.sorlfos_majr_code,
              prim_conc.sorlfos_lfos_rule, prim_conc.sorlfos_majr_code_attach,
              sec_conc.sorlfos_majr_code, sec_conc.sorlfos_lfos_rule,
              sec_conc.sorlfos_majr_code_attach, third_conc.sorlfos_majr_code,
              third_conc.sorlfos_lfos_rule, third_conc.sorlfos_majr_code_attach,
              fourth_conc.sorlfos_majr_code, fourth_conc.sorlfos_lfos_rule,
              fourth_conc.sorlfos_majr_code_attach, fifth_conc.sorlfos_majr_code,
              fifth_conc.sorlfos_lfos_rule, fifth_conc.sorlfos_majr_code_attach,
              six_conc.sorlfos_majr_code, six_conc.sorlfos_lfos_rule,
              six_conc.sorlfos_majr_code_attach
         FROM sorlfos six_conc,
              sorlfos fifth_conc,
              sorlfos fourth_conc,
              sorlfos third_conc,
              sorlfos sec_conc,
              sorlfos prim_conc,
              sorlfos sec_minor,
              sorlfos prim_minor,
              sorlfos sec_major,
              sorlfos prim_major,
              sobcact,
              sorlcur,
              sgbstdn
        WHERE six_conc.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_concentration,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       6
          AND fifth_conc.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_concentration,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       5
          AND fourth_conc.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_concentration,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       4
          AND third_conc.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_concentration,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       3
          AND sec_conc.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_concentration,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       2
          AND prim_conc.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_concentration,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       1
          AND sec_minor.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_minor,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       2
          AND prim_minor.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_minor,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       1
          AND sec_major.ROWID(+) =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_major,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       2
          AND prim_major.ROWID =
                 soklcur.f_lfos_rowid (sorlcur_lmod_code,
                                       sorlcur_seqno,
                                       sb_fieldofstudy_str.f_major,
                                       sorlcur_pidm,
                                       sorlcur_term_code,
                                       NULL,
                                       1
          AND sobcact_cact_code = sorlcur_cact_code
          AND sorlcur_lmod_code = sb_curriculum_str.f_learner
          AND sorlcur_pidm = sgbstdn_pidm;2. the execution plan when select * from SGVACUR;
    SQL> @explain_SGVACUR.sql
    Explained.
    PLAN_TABLE_OUTPUT
    | Id  | Operation                                | Name           | Rows  | Bytes |TempSpc| Cost (%CPU)|
    |   0 | SELECT STATEMENT                         |                |     1 |   166 |       |    18E(100)|
    |   1 |  SORT AGGREGATE                          |                |     1 |   166 |       |            |
    |   2 |   MERGE JOIN                             |                |    18E|    15E|       |    18E(100)|
    |   3 |    SORT JOIN                             |                |    18E|    15E|    15E|    18E(100)|
    |   4 |     MERGE JOIN OUTER                     |                |    18E|    15E|       |    18E(100)|
    |   5 |      SORT JOIN                           |                |    18E|    15E|    15E|    18E(100)|
    |   6 |       MERGE JOIN OUTER                   |                |    18E|    15E|       |    18E(100)|
    |   7 |        SORT JOIN                         |                |    18E|    15E|    15E|    18E(100)|
    |   8 |         MERGE JOIN OUTER                 |                |    18E|    15E|       |    18E(100)|
    |   9 |          SORT JOIN                       |                |    18E|    15E|    15E|    18E(100)|
    |  10 |           MERGE JOIN OUTER               |                |    18E|    15E|       |    18E(100)|
    |  11 |            SORT JOIN                     |                |    18E|    15E|    15E|    18E(100)|
    |  12 |             MERGE JOIN OUTER             |                |    18E|    15E|       |    18E(100)|
    |  13 |              SORT JOIN                   |                |    18E|    15E|    15E|   629P(100)|
    |  14 |               MERGE JOIN OUTER           |                |    18E|    15E|       |    19P(100)|
    |  15 |                SORT JOIN                 |                |   269P|    15E|    15E|    51T(100)|
    |  16 |                 MERGE JOIN OUTER         |                |   269P|    15E|       |  1920G(100)|
    |  17 |                  SORT JOIN               |                |    27T|  1722T|  3768T|  5369M (76)|
    |  18 |                   HASH JOIN RIGHT OUTER  |                |    27T|  1722T|    22M|   201M (96)|
    |  19 |                    INDEX FAST FULL SCAN  | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  20 |                    HASH JOIN OUTER       |                |  2722M|   147G|    15M| 24972  (79)|
    |  21 |                     HASH JOIN            |                |   273K|    12M|  3808K|  2648   (5)|
    |  22 |                      INDEX FAST FULL SCAN| IDX$$_AE220001 |   228K|  1118K|       |   167   (2)|
    |  23 |                      HASH JOIN           |                |   143K|  5765K|       |  1928   (6)|
    |  24 |                       INDEX FULL SCAN    | PK_SOBCACT     |     4 |    36 |       |     1   (0)|
    |  25 |                       TABLE ACCESS FULL  | SORLCUR        |   143K|  4499K|       |  1926   (6)|
    |  26 |                     INDEX FAST FULL SCAN | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  27 |                  SORT JOIN               |                |   994K|    11M|    38M|  5624   (2)|
    |  28 |                   INDEX FAST FULL SCAN   | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  29 |                SORT JOIN                 |                |   994K|    11M|    38M|  5624   (2)|
    |  30 |                 INDEX FAST FULL SCAN     | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  31 |              SORT JOIN                   |                |   994K|    11M|    38M|  5624   (2)|
    |  32 |               INDEX FAST FULL SCAN       | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  33 |            SORT JOIN                     |                |   994K|    11M|    38M|  5624   (2)|
    |  34 |             INDEX FAST FULL SCAN         | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  35 |          SORT JOIN                       |                |   994K|    11M|    38M|  5624   (2)|
    |  36 |           INDEX FAST FULL SCAN           | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  37 |        SORT JOIN                         |                |   994K|    11M|    38M|  5624   (2)|
    |  38 |         INDEX FAST FULL SCAN             | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  39 |      SORT JOIN                           |                |   994K|    11M|    38M|  5624   (2)|
    |  40 |       INDEX FAST FULL SCAN               | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    |  41 |    SORT JOIN                             |                |   994K|    11M|    38M|  5624   (2)|
    |  42 |     INDEX FAST FULL SCAN                 | PK_SORLFOS     |   994K|    11M|       |  1049   (2)|
    --------------------------------------------------------------------------------------------------------3. Doe anyone have any thoughts and suggestion as to how to speed up the view performance?
    Your input is greatly appreciated! Thanks!

    riedelme wrote:
    jgarry wrote:
    riedelme wrote:
    Only four tables... there is a severe problem with implementation of relational design, if any such design was even done.
    Techincially, only 4 different tables, but lots of repeat usage as logical other tables reading the same tables many times. Whatever.
    The problem lies deep, and I don't mean in code.No argument! I'm still with Tanel on the functions, thoughI'm wondering if the MV suggestion really isn't a joke, but actually a reasonable suggestion. You guys are a lot better on these issues than me, so I'm curious if this is a reasonable argument:
    There are several self-outer-joins. This implies too much denormilization (assuming there was normalized design to begin with, given the fact of this kind of design, I'm ignoring my gut feel it was all just thrown together). So what happens? The rows are added physically near to each other in blocks, since they are added at the same time. This has the effect of making a kind of sparse file - when the database gathers blocks on each run through the full table scan, it is only getting those that satisfy the condition of that part of the query, actually using multiblock reads to grab lots of blocks that mostly don't have the data needed. Then it has to do it again over the same blocks for the next outer join part. And etc. for all those outer joins.
    Now, if MV was used to split those into separate tables, each full scan would grab denser blocks in a multiblock read fashion, and there would be fewer of them. There might even be enough information for the optimizer to do some probing, or perhaps even stopkeys. This might be an order of magnitude faster, simply from densification.
    Insane, or crazy like a fox?
    I'm also wondering if there might be some really tricky analytic function to make it all work with one pass, but that's just way over my head.

  • Performance ora:view and collection()

    ora:view allows an XML structured table to be used in a XQuery "for" clause, while collection processes a set of documents in a directory. Normally these are two different sets of data.
    However, with XDB I can have a WEBDAV directory which can consist of documents, all of which are stored in schema based structured storage.
    Given this situation, where the ora:view and the collection() happen to be the exact same set of data (and this condition may be a rare corner case for many people), is there a performance difference between these two methods of access?
    The underlying question I am wondering is whether collection() will be rewritten to take advantage of any indexing on the structured data, in this sitution.
    A collection() directory can consist of XML in both structured and unstructured storage, in this case does the query reduce everything to the lowest common denominator (CLOB), or are any of the advantages of structured storage utilized?
    Thanks,
    Howard

    Howard,
    That's a good question. You should use ora:view() instead of collection(). Using ora:view() will give you better performance. Please contact me directly (geoff dot lee at oracle dot com) to discuss further.
    Regards,
    Geoff

Maybe you are looking for

  • Problem with login using Oracle Enterprise Manager

    I am new to Oracle. I installed the software (my Operating System is Windows XP) and created a database following the guidelines in the documentation and Oracle By Example. Now I can not log on as the user SYS through the Enterprise Manager. However,

  • Files not being deleted after a move

    In Elements Organizer, I move files (photo albums) to an external hard disk and I confirm that I want to have the files deleted from the C disk.  The files all get moved ok, but none of them get deleted from the C disk.  I'm afraid to just delete the

  • HandleCrystalEvent failed

    I am able to preview all of my reports in the CMC when you hit preview,  But when I try to refesh any of my reports I am getting this error: CrystalReportViewer handleCrystalEvent failed Unable to retrieve Object. The database logon information for t

  • Sorting XML using DOM4J

    Hi All, Below is a sample XML which needs to be sorted based on the "id" attribute of the "key" element. <?xml version='1.0'?> <main> <key id='16066'> <key id='16061'> <key id='11'> <key id='1'> <key id='2'> <key id='1001'> </main> I am trying to sor

  • How do I delete a column for just one table and not all the others?

    I have multiple tabels in a Pages document. I want to delete some columns on some of the tables but keep them on the other tables. When I delete the columns it deletes all of them on all of the tabels and I dont want that.