Jump to content

Performance of Find vs. GTRR


This topic is 6668 days old. Please don't post here. Open a new topic instead.

Recommended Posts


I have several relationships where the left side is a global version of the primary key, and the right side is the prmary key itself (like gContactID = contactID). I then use a GTRR step to go to the desired record.

I have a couple of questions regarding GTRR:

1) Is GTRR faster than searching on the primary key?

2) Is there any way to dynamically specify the relationship used by GTRR? I was hoping for a "Relationship Name by Calculation" option.



Link to comment
Share on other sites

Hi Sean,

I have created relationships using a global field to go from one portal record to a related record in another protal.

1. I think, GTRR results faster than searching on the primary key because using GTRR internally FileMaker uses file references (pointers) to go to the related record. However, performing a search on primary key would result in search of the indexed table.

2. I don't fully understand what do you mean by your second question.

Link to comment
Share on other sites

2. If I'm interpreting you right, this can be done by using a multi-key for the match side of the relationship. A multi-key is a field where a paragraph return separates each value. FileMaker indexes each line so that any of the lines can be used to match in the relationship.

You're basically building each relationship choice into one relationship, and leaving the choice up to whatever is used as the parent key.

As an example, let's relate our Interface table to an Invoice table. Let's say we want to give users a choice to see "Active", "Inactive", or "All". We create a global field in the Interface table for the user's choice and attach a value list with those three choices. Then in the Invoice table (where we already have a Status field,) we add a calculated multi-key:

Status_multikey (calculation, text result) = "All¶" & Status

Then we define a relationship between the global and this new status field:

Interface <=> Invoice =

Interface::gStatusChoice = Invoice::Status_multikey

Now we can let the users choose which records they wish to see through this relationship (either with a portal, or though a GTRR step.)

Link to comment
Share on other sites

This topic is 6668 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.