Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Performance of Find vs. GTRR

Featured Replies

Hello,

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.

Regards,

Sean

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.

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.)

Create an account or sign in to comment

Important Information

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

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.