Home      FAQ      Forum      Idea Exchange      Ask a Question      My Stuff      Help   
  
Match Condition Optimization
The relation allows to specify match conditions between left-side and right-side tables. While for many-to-many relationships it's an only way to specify how records are related, for one-to-many relationships they serve as an addition to a standard key-reference pair of columns.

Speaking of one-to-many case, match conditions are often used to provide conditions to a master table's record picker - consider Cascading Dropdowns scenario. At the moment match conditions are always in effect. While at the selection stage they help to limit the list of choices in the dependent dropdown, after the selection is made records are bound via key-reference pair and calculation of conditions is often an excessive operation.

To address this issue we are introducing corresponding flag via the Labs. When turned on, we do not evaluate match conditions while calculating lookups. They are still in effect for record picking, summary calculations etc.

You may want to try turning this flag on to see if it will improve the performance of your application. Please note that this may introduce a breaking change in the application logic depending on match condition usage.
ID
518
Category
Setup
Author

Kirill Bondar  Staff 
Date Created
6/8/2012 5:02:04 AM
Date Updated
8/29/2012 2:51:54 AM
Status
Implemented
Score
50
Related articles
Promoted By
Simon PetralliRick Cogleymartin oliver
Philipp MatuschkaKirill Bondar  Staff 
Comments
Philipp Matuschka 6/8/2012 7:19:56 AM
Actually I think this will solve some other behavioural problems I was having. Where a record in table C had parents in Table A and Table B and the record in Table B also had the same parent in Table A, if the relationship between A and B subsequently change in whatever manner, then the relationship between A and C or B and C seemed to be affected. Unfortunately I can't rememebr the precise incidents to go back and check them. Anyway I have turned on the flag in Labs and see what effect it has.
Kirill Bondar  Staff  6/18/2012 5:02:42 AM
This is in fact implemented. To enable, visit Setup mode > Setup tab > Tools section > Labs > "Matching Conditions Optimization for One-To-Many Relationships" > Enable > Save
Rick Cogley 6/25/2012 9:52:28 PM
Wow, Kirill, you guys outdid yourselves. We are seeing fantastic performance improvements on some of our massive dashboards that took 30 sec to load before. They are loading in just a couple seconds now, even with the latency from Japan.
Kirill Bondar  Staff  8/17/2012 9:51:03 AM
We have excluded match conditions from summary column calculations as well. At the moment match conditions are used only for record pickers.

We've also added "Performance Tips" tool under Setup tab > Tools section. Beside tips the tool reports records (if any) that were excluded from summary calculations due to match conditions in effect; the report contains a formula you can put into a view's filter to select those records for review.
Kirill Bondar  Staff  8/17/2012 9:52:06 AM
Above optimizations are controlled via Setup tab > Tools section > Labs > "Matching Conditions Optimization for One-To-Many Relationships".

Simon Petralli 8/29/2012 2:51:54 AM
Just what I was looking for.

Great job guys.

Feedback
 
Back to Search Results