1. Kailainathan Kasinathan
  2. PowerBuilder
  3. Wednesday, 6 June 2018 10:41 AM UTC

Hi,

We have a legacy application. We have a performance issue and we find to have trouble with few forms only. We suspect that it might be due to the large amount of dropdowns which are present as datawindows instead of dropdown list box. Does it affect the performance? We have a problem with only these three forms and the SQL seems to work fine.

Matthew Balent Accepted Answer Pending Moderation
  1. Wednesday, 6 June 2018 11:36 AM UTC
  2. PowerBuilder
  3. # 1

Well, here is a good old 'it depends' answer...

What is the sql in the drop down datawindows doing?  If it's a table scan or some other inefficient query it could be an issue.

Is the DDDW set to autoretrieve?  Depending upon the SQL and number of rows retrieved this could also be an issue.

Whether or not a list would be better than the DDDW depends upon a number of factors.  Is the DDDW list dynamic depending upon some other input by the user?  Is the list of items in the DDDW small and easily replaced by a list?  How much other code would need to be refactored if the DDDW was replaced with a list? Etc.

Comment
  1. Kailainathan Kasinathan
  2. Wednesday, 6 June 2018 12:42 PM UTC
Hi Matthew,



We have a table scan SQL. The SQL scans the table to get the desired  details in the dropdown depending upon system code values. We have lots of drop down DW's but very few use Auto retrieve but all these DW's have table scan. The other conditions are not suited for us.

  1. Helpful
  1. David Peace (Powersoft)
  2. Wednesday, 6 June 2018 13:00 PM UTC
Hi



If the DDWs are not auto retrieve then how and when are you retrieving the data into the DDWs?



If the DDW population is the source of your delay then you must either be selecting a large number of rows OR the query at the DB end is not performing properly. You may need indexes and refined where clause to improve performance.



If it is cause by a large number of rows or slow query you could cache the data in a datastore when the application opens and then populate the DDWs from the datastore.



Regards



David

  1. Helpful
There are no comments made yet.
Kevin Ridley Accepted Answer Pending Moderation
  1. Wednesday, 6 June 2018 12:59 PM UTC
  2. PowerBuilder
  3. # 2

Are you actually using them as dropdowns where users click on the arrow and you can change the values, or are you just using it to get the lookup values and you never change the values?  If it's the second, just add joins to the SQL in the main dw and get the values without using dropdowns.  If it's option 1 and they are large tables, you need to figure out how to make them not do table scans.  You can also retrieve them to datastores and cache them for use as needed.

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.