6 Replies Latest reply on Jan 13, 2016 6:26 PM by disabled_JackRodgers

    Get(UUID) Speed vs Serial Number

      Title

      Get(UUID) Speed vs Serial Number

      Post

      Perhaps this question should be addressed to the engineers and perhaps Filemaker 12 has been optimized for the long string.

      1) How will using Get(UUID) as a link relationships affect the speed of portals, searching and other common uses?

      I am converting file to use Get(UUID) instead of the serialized ids so that my records won't have conflicts when imported from various devices during a sync, etc.

      2) Has anyone done any large table testing on this for portals and searches?

      3) Does the Get(UUID) face a sort or search problem because of its length?

      4) Would it be wiser to roll my own using something like:

      ComputerID & timestamp & ( serialnumber or random )

      I suppose the answer might be that using get(uuid) could be used for any imported data from any source using its own UUID. So:

      5) Is Filemaker's Get(UUID) it's own unique concept or does it conform to some uniform concept used by others?

        • 1. Re: Get(UUID) Speed vs Serial Number
          Jade

          Sign in to the Community TechNet and take a look at this post on the topic :

          https://fmdev.filemaker.com/message/78792#78792

          • 2. Re: Get(UUID) Speed vs Serial Number
            LSNOVER

            Hi:

             

            Sorry to revisit this after so long.  I read the related link.  Is the implication that the HEXADECIMAL UUID, has to be turned into a DECIMAL equivalent in order to maintain the same performance?  Or can we use the UUID values in a text field as generated, without  a performance hit?

            • 3. Re: Get(UUID) Speed vs Serial Number

              Interesting question. To echo my father from years ago, it depends...

               

              If you are dragging photos from a hosted server, you've already degraded

              performance. If you are searching for thousands of records off of a hosted

              server, same thing.

               

              If you are creating a new record, it makes little difference and the time

              to do the conversion would hardly be noticed.

               

              Yesterday I tested the current millisecond GET in a loop. New record, set

              field to the milliseconds. The first series of records duplicated the value

              for about four records but as the loop continued on eventually there was no

              duplication and the millisecond gap began to increase to a gap 2, 4, 5 and

              so on. So saving the records in memory began to fill up the memory like

              people crowding into a room. Eventually FileMaker will have to flush cache

              to disk and that will cause a time delay.

               

              The only true way to find the answer would be to test it in how you intend

              to use it, every other answer is simply theoretical and what difference

              does it make if over a million records it returns a difference of 5 seconds

              when you are only working with a hundred records?

               

              Increasing the cache in Preference to the maximum permitted creates an

              enormous improvement over the minimum.

              • 4. Re: Get(UUID) Speed vs Serial Number
                LSNOVER

                Jack:

                 

                I think this is a bit less variable.   Filemaker has traditionally been faster at dealing with Numbers for relationships than text.   In my case, I'm interested in knowing if that has changed with newer versions and with these UUIDs in particular.   All things being equal, is there any hit for using a alpha-numeric index, vs. the more traditional sequence #?

                • 6. Re: Get(UUID) Speed vs Serial Number

                  The question you are asking is one you can answer for yourself using your

                  own database and methods. Any other answer would not be a true answer,

                  would it?

                   

                  Use the get(...milliseconds) at the start and at the end. The difference in

                  the two methods is your answer.

                   

                  Duplicate your database for sanity sake and change the current uuid

                  relationship or field to the decimal one you are interested in. The answer

                  is that easy to find.