As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
I have an HTML Launch page that has several chained dynamic drop down lists based on 2 Oracle tables. This method works great! However, I recently added a product drop down list to my lauch page and the initial population slowed from 10 seconds to 2 minutes. How do I capture the SQL select that is being created in the back ground in order to optimize this process or am I doing something wrong in my html?
Here's a stripped down version my HTML launch page
In the "Developing Reporting Applications" manual, there is a section on 'Customizing Dynamic Parameters' which shows how to use a procedure to populate a drop down box. There is a small discussion on how to handle chained parameters. Writing a procedure with WHERE clauses can significantly improve the performance of populating drop down boxes as opposed to letting WebFOCUS use its generic query.
I'm running on Windows Server 2003 Standarde Edition, Webfocus version 7.6.1, connecting to an Oracle 9i database.
The retrieving data msg appears then is replaced by the Populating controls msg very quickly. Then the populating controls msg stays for approx. 2 minutes. This makes me believe that the problem is more in how java handles the data after retrieval. If java is the problem, as I believe, is there any way to format or presort the data that will allow java to more efficiently build the chained drop down lists?
Originally posted by GinnyJakes: In the "Developing Reporting Applications" manual, there is a section on 'Customizing Dynamic Parameters' which shows how to use a procedure to populate a drop down box. There is a small discussion on how to handle chained parameters. Writing a procedure with WHERE clauses can significantly improve the performance of populating drop down boxes as opposed to letting WebFOCUS use its generic query.
Since you are running 7.6.1, I must tell you that one of my users discovered a 5.3.3 created page with a drop down, when run under 7.6.1 ran very slowly and eventually got a script timeout message. If you reply to continue, the drop down boxed actually loaded but it did take a long time. And she was not using a chained list, just a single drop down box.
I opened a case on this and with further testing did discover, as you mentioned, that it was the 'populating controls' that was the problem as opposed to retrieving the data. The manual reference I gave you is a good technique but this may not be what you are experiencing right now.
I don't know if you created this page with 7.6 or a previous release. I have had problems with ibirls2 in converted pages as well regarding drop down boxes and have had to change back to ibirls and I've also received a skinny version of ibirls2 to use.
Talk to your DBA, see if they can put a performance monitor on the IBI user, then load your page. They can view the explain plan and tell you where there are issues that need to be optimized.
Since these are CHAINED, you should create indexes on the fields that are chained together. For example, if you have a table of Region Division Store
then you would want at least two indexes, One for Region, Store, ... the other for Region, Disision, Store...sorted ascending.
Only the Oracle optimizer knows if your indexes, or a full table scan will be used for your chaining. As a rule of thumb for most RDMS optimizer, if you're querying over 20% of the table, the optimizer will do a full table scan, so your indexes aren't so great. When you're chaining, you should be eliminating a lot of the results...
On my HTML forms, large data sets take a while to "populating controls..." but my tables are very well index, and the optimizer is hitting the exact indexes that it should. I have a list of 20,000 customers that I set up to populate as a test just now, it takes right at 10 seconds when I set a limit of 1000 values. When I take off the limit it takes so long that I have yet to see it finish, and DB2 performance monitor shows query time of .05 econds.
I don't think this is actually something that can be optimized database side....with these many values I guess the javascript is just going to take a very very long time.This message has been edited. Last edited by: Jason K.,
Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.