9 Replies Latest reply on Nov 19, 2014 4:28 PM by mark_scott

    When does field content load?

    hrcap

      Afternoon All

       

      having created my solution on filemaker i am now look at ways to optimise performance such as decreasing the time it takes for a layout to load.

       

      For this i need some fundamental knowledge that i dont currently posses and im hoping that some of you may be able to fill the gaps.

       

      Example:

       

      I have two tables:

       

      - Table 1 (containing 10 fields)

       

      - Table 2 (containing 20 fields)

       

      these tables are joined via a relationship

       

       

      Questions:

       

      1) If i load a layout that displays only five fields from table 1, will filemaker effectively be loading all of the info from all 10 fields, or will it only be loading those five fields?

       

      2) If i have a table 1 layout with a portal displaying 3 fields from table 2, will the portal only be loading those three fields or will it be loading all 20 fields for each record displayed in the portal?

       

       

      I hope that this makes sense.

       

      And thank you in advance for any responses.

       

       

      Hadleigh

        • 1. Re: When does field content load?
          mikebeargie

          FileMaker only loads data from fields that are on the layout. This INCLUDES hidden fields though, like the ones that are over off the visible layout in that twilight zone.

           

          Read into this:

          http://help.filemaker.com/app/answers/detail/a_id/5268/~/performance-optimization-of-filemaker-databases

          That's a basic start.

           

          If you want your layouts to load fast, I'd definitely recommend leveraging themes. Choose a simple theme and then use that theme across your entire database with as few modifications to the base theme as possible. Currently, I find the performance and look of the aspire series of themes (vibrant, sophisticated, tranquil) to be the best for this.

           

          If you develop with the basics in mind (which it looks like you're doing), you'll be off to a great start. Once you get true use cases and data into place, you can probably come back here and ask for some more granular performance tips, such as caching data or shifting work to the server.

          • 2. Re: When does field content load?
            taylorsharpe

            FileMaker "thinks" a whole record at a time (with the exception of container fields that are handled slightly differently).  That is why FileMaker is best optimized by having tables with fewer fields or if you need a bunch of fields, you have them in 1 to 1 relationships of several related tables.  In addition to lowering the amount of fields FileMaker has to think about, having more tables with fewer fields means less fields are record locked at any given time by a user.  So if you want to optimize a table with 100 fields, make it into 5 tables with 20 fields all with a related serial number of UUID. 

            • 3. Re: When does field content load?
              mikebeargie

              hmm, that's only slightly true?

               

              Take for instance a summary field. It will not summarize if it's not on the layout. I believe the same is true for unstored calculations, they are not evaluated if they are not on the layout.

              • 4. Re: When does field content load?
                taylorsharpe

                Yes... I forgot to mention that.  It only recalls stored fields and then has to process any unstored fields when and if they are displayed.  Good point Mike!

                • 5. Re: When does field content load?
                  DavidJondreau

                  And containers too.

                  • 6. Re: When does field content load?
                    jbante

                    Mike Beargie wrote:

                     

                    FileMaker only loads data from fields that are on the layout. This INCLUDES hidden fields though, like the ones that are over off the visible layout in that twilight zone.

                    Yes and no. FileMaker generally pulls the whole record over the network, regardless of what fields are on the layout, with the exception of container fields. It is true that summary and unstored calculation fields are also not pulled over the network if they are not used, as has been pointed out; but it's a bit facetious to say so, since those are typically calculated client-side anyway. The important punchline about summaries and unstored calculations (and containers) is still correct, however: they wont impact performance if they aren't used. Any other field data will be downloaded.

                     

                    In response to Hadleigh's second question, all stored non-container fields for records appearing in a portal will be loaded over the network, even fields you don't display on the layout.

                     

                    Other folks have already mentioned the common recommendations for "narrow" tables, but at the scale you're talking about — 10-20 fields — I'd look into other optimizations like using themes first. 10-20 fields is not a huge deal; don't bother with that until performance is still a problem after you've resolved all other bottlenecks. The recommendation for narrow tables is targeted at solutions with several dozen or even hundreds of fields in a table.

                    1 of 1 people found this helpful
                    • 7. Re: When does field content load?
                      steve_ssh

                      Hello Hadleigh,

                       

                      The following recent resource is related to designing for performace.  You might find it worthwhile:

                       

                        https://fmdev.filemaker.com/docs/DOC-4168

                       

                      There was an associated webinar on this topic, which, apparently, can be viewed as a recording, via a link posted at this page:

                       

                        http://www.filemaker.com/support/webinars/

                       

                       

                      HTH & best,

                       

                      -steve

                      • 8. Re: When does field content load?
                        jrenfrew

                        Well - and FileMaker actually brings down 25 records worth into the cache so that when you click the forward of backward it 'feels' more responsinve at that point. And if it needs it big chuncks of related records too.

                        • 9. Re: When does field content load?
                          mark_scott

                          Adding to Jeremy's response about the related/portal records being loaded from server (in their entirety) at the same time the parent-record data is loaded, there is an exception to this that you might be able to take advantage of, Hadleigh. If the portal is placed on a popover, or in a non-visible panel of a tab- or slide-panel control, the child records' 20 fields won't be loaded until displayed (e.g., by popping open the popover or clicking on the tab containing the portal). FileMaker uses a "lazy-loading" model when rendering layouts, only pulling down record data when needed (at which point, as already mentioned, it pulls down entire records at a time). Mind you, if even a single field from that related table is visible on the main layout, then this doesn't apply.

                           

                          hth,

                           

                          Mark