| Author | Message | 
		
		  | kriersd | 
			  
				|  Posted: Wed Jun 09, 2004 1:35 pm    Post subject: multiple container items in the description field |   |  | 
		
		  |  Master
 
 
 Joined: 22 Jul 2002Posts: 209
 Location: IA, USA
 
 | 
			  
				| Is it possible to put multiple items in the description field? _________________
 Dave Krier
 
 IBM WebSphere MQ Workflow V3.4 Solution Designer
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | manoj | 
			  
				|  Posted: Wed Jun 09, 2004 1:52 pm    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 30 Jan 2002Posts: 237
 Location: Virgina
 
 | 
			  
				| Yes...use % e.g : %item1%item2%
 
 you may want to put a "|" in between to seperate them..like
 %item1%|%item2%
 
 hope this is what you want ....
 _________________
 -manoj
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kriersd | 
			  
				|  Posted: Wed Jun 09, 2004 1:57 pm    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 22 Jul 2002Posts: 209
 Location: IA, USA
 
 | 
			  
				| Thanks Manoj 
 I thought so, but asking the question sometimes builds confidence.
   
 Any idea what the performance hit will be?
 _________________
 Dave Krier
 
 IBM WebSphere MQ Workflow V3.4 Solution Designer
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | manoj | 
			  
				|  Posted: Wed Jun 09, 2004 2:01 pm    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 30 Jan 2002Posts: 237
 Location: Virgina
 
 | 
			  
				| I don't think there's any performance hit just doing this...the Entire string is stored in the Database column DESCRIPTION  in the workitem table... 
 only performance problem will come if you code your filter using
 DESCRIPTION LIKE 'appid|appnum*'   something like this will cause  a table scan.....if you use this , when your number of workitems increases your performance drops
 _________________
 -manoj
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jmac | 
			  
				|  Posted: Wed Jun 09, 2004 4:06 pm    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 27 Jun 2001Posts: 3081
 Location: EmeriCon, LLC
 
 | 
			  
				| Dave: 
 I agree with everything manoj has said.... I would just like to add that there is a slight database footprint issue with multiple items in the description.  In the "ancient" (no longer supported) Sizing spreadsheet to calculate database size one of the items you had to specify was average description size.
 
 I take it by performance hit you meant CPU hit and I agree there is not much there.
 _________________
 John McDonald
 RETIRED
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kriersd | 
			  
				|  Posted: Thu Jun 10, 2004 7:50 am    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 22 Jul 2002Posts: 209
 Location: IA, USA
 
 | 
			  
				| Thanks guys, 
 Just a little background here. I was approached due to a Workflow performance problem in one of my business areas. They have a custom written thick client application, which displays 12 data container fields in the work item list along with a few of the normal work list columns. When I first heard of a performance issue I assumed we needed to tune the server and stripe the disks. That did help, but it didn't help enough. After maximizing all the system tuning options, I started to look more at the thick client application. The problem is that the application is retrieving the work items and then making another trip back to the database once for each work item to get the data container information. I believe the application is making one call to get the (x) number work items, then going back to the database once for each work item to get the data container for each work item. Now multiply that by the number of users doing a refresh and "BANG" you have a performance problem. So I am trying to look for alternatives to accomplish the same results. My thought is that we can put the 12 data container elements in the description filed separated by a delimiter. This way the application only has to make one call to the database.  I know this is an ugly solution but in a pinch, I think it may just work.
 
 Any other ideas.
 _________________
 Dave Krier
 
 IBM WebSphere MQ Workflow V3.4 Solution Designer
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jmac | 
			  
				|  Posted: Thu Jun 10, 2004 8:03 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 27 Jun 2001Posts: 3081
 Location: EmeriCon, LLC
 
 | 
			  
				| Dave: 
 A couple of things.
 
 1)  Going to the Database for container items has always been a bad idea.  If I read your post correctly its not quite as bad as you think.  I believe that there is a single client/server call to get ALL of the container items for a given workitem, of course I could be wrong so don't take this as gospel.  If you need the absolute truth I would send a query to the lab.
 
 2)  Your circumvention is the typical one used, however, you need to be careful since the total length of the Description is limited (1024 bytes is what sticks in my head, but not certain here).  If you have long values in the container fields you may have a problem, which could be why it was done this way in the first place.
 
 GOOD LUCK
 _________________
 John McDonald
 RETIRED
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | manoj | 
			  
				|  Posted: Thu Jun 10, 2004 8:43 am    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 30 Jan 2002Posts: 237
 Location: Virgina
 
 | 
			  
				| John, I believe each getXXX() method on the workitem container calls the server. Please post if you find otherwise from the lab
 
 thanks
 _________________
 -manoj
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | hos | 
			  
				|  Posted: Fri Jun 11, 2004 12:07 am    Post subject: |   |  | 
		
		  | Chevalier
 
 
 Joined: 03 Feb 2002Posts: 470
 
 
 | 
			  
				| No, getXXX calls on a container are local (accessor) calls served by the API. Workitem::InContainer() is a server (action) call, however. 
 To solve the problem you could also check whether the usage of a global data container helps. If some of the 12 container values are 'fix' they could be moved to the GDC. There is an API method to obtain the global data container for a process instance.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | manoj | 
			  
				|  Posted: Fri Jun 11, 2004 5:43 am    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 30 Jan 2002Posts: 237
 Location: Virgina
 
 | 
			  
				| Thanks for the getter method clarification _________________
 -manoj
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |