I am opening up this topic, because it was raised at #Insights2018. Please join in on the discussion if you have examples that prove this wrong!!!
I just want to curb any urban legend that may be building out in the community based on misunderstood ideas.
There was a recommendation made during one of the sessions that JOINING a TT record to a regular database record was bad practice. Instead of joining, you should simply add conditions in your query for any of those links between TT and non-TT records. This recommendation was based on a study done by @josecgomez (I believe) which showed the difference between a poorly written and a well written Linq statement using tt records. Jose IS CORRECT, in that you can create really bad linqs if joined incorrectly
It raised a huge concern in my own mind because I regularly do this… for example, I would join the TTOrderDtl to Part to find if the part met certain criteria. This would mean that I would need to review and change links in 100s of BPMs.
After returning home, I started research, including contacting Development and other consultants, and received word that this is NOT a problem UNLESS you connect backwards…
GOOD joins:
- TTOrderDtl -->Join -->Part
- TTOrderDtl -->Join -->Part --> Join -->PartPlant
BAD joins: - Part -->Join --> TTOrderRel --> Join -->PartPlant
- PartTran --> ttPart
The word I received (had have personally verified) is that as long as the TT table(s) is/are the FIRST table(s), then when the linq statement is created, then your query will be efficient…
Thoughts?