<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Update Table Match Speed - which is faster:  Matching multiple columns X, Y, Z (all integers) or Matching Col &amp;quot;X.Y.Z&amp;quot; unique combined string? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/880946#M104479</link>
    <description>&lt;P&gt;I'm Updating a large data table (4.4 million rows) of stacked data with design info from a much smaller table.&amp;nbsp; I have 1,927 unique rows in the smaller table that correspond to the stacked parameter.&amp;nbsp; They can be identified either by a column with a unique string (X.Y.Z), or the combination of three columns that contain X, Y and Z individually.&amp;nbsp; The same columns (X, Y, Z and X.Y.Z) are in the large data table.&amp;nbsp; X, Y and Z are all integers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not sure how to test this, but I'm curious if matching 3 integer columns is faster than matching 1 string column by any appreciable amount.&amp;nbsp; May need to repeat this fairly often, and the large data table is still growing.&lt;/P&gt;</description>
    <pubDate>Mon, 23 Jun 2025 13:53:34 GMT</pubDate>
    <dc:creator>MeanChris</dc:creator>
    <dc:date>2025-06-23T13:53:34Z</dc:date>
    <item>
      <title>Update Table Match Speed - which is faster:  Matching multiple columns X, Y, Z (all integers) or Matching Col "X.Y.Z" unique combined string?</title>
      <link>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/880946#M104479</link>
      <description>&lt;P&gt;I'm Updating a large data table (4.4 million rows) of stacked data with design info from a much smaller table.&amp;nbsp; I have 1,927 unique rows in the smaller table that correspond to the stacked parameter.&amp;nbsp; They can be identified either by a column with a unique string (X.Y.Z), or the combination of three columns that contain X, Y and Z individually.&amp;nbsp; The same columns (X, Y, Z and X.Y.Z) are in the large data table.&amp;nbsp; X, Y and Z are all integers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not sure how to test this, but I'm curious if matching 3 integer columns is faster than matching 1 string column by any appreciable amount.&amp;nbsp; May need to repeat this fairly often, and the large data table is still growing.&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jun 2025 13:53:34 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/880946#M104479</guid>
      <dc:creator>MeanChris</dc:creator>
      <dc:date>2025-06-23T13:53:34Z</dc:date>
    </item>
    <item>
      <title>Re: Update Table Match Speed - which is faster:  Matching multiple columns X, Y, Z (all integers) or Matching Col "X.Y.Z" unique combined string?</title>
      <link>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/880948#M104480</link>
      <description>&lt;P&gt;Update:&amp;nbsp; I created duplicate tables and updated them with the different methods.&amp;nbsp; I was hoping to see an execution time in the JMP Log window or something that would tip me off as to how long each took.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Both were so fast I spent nearly 10^6 longer writing this post hypothesizing about it.&amp;nbsp; But if I had to pick, it seemed like the single column string match was an eye-blink slower.&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jun 2025 14:23:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/880948#M104480</guid>
      <dc:creator>MeanChris</dc:creator>
      <dc:date>2025-06-23T14:23:16Z</dc:date>
    </item>
    <item>
      <title>Re: Update Table Match Speed - which is faster:  Matching multiple columns X, Y, Z (all integers) or Matching Col "X.Y.Z" unique combined string?</title>
      <link>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/880951#M104481</link>
      <description>&lt;P&gt;I created some random data to test this on 1 million rows.&amp;nbsp; Updating by matching three integer columns was on average twice as fast as on the single character column.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default to Here( 1 );
dt = New Table( "Match Test", New Column( "X", numeric ), New Column( "Y", numeric ), New Column( "Z", numeric ), New Column( "XYZ", character ), New Column( "Update", character ) );
dt &amp;lt;&amp;lt; Add Rows( 1e6 );
For Each Row( dt, :X = Random Integer( 999 ); :Y = Random Integer( 999 ); :Z = Random Integer( 999 ); :XYZ = Char( :X ) || " " || Char(:Y ) || " " || Char( :Z );  );
dt2 = New Table( "Match Test", New Column( "X", numeric ), New Column( "Y", numeric ), New Column( "Z", numeric ), New Column( "XYZ", character ), New Column( "Update", character ) );
dt2 &amp;lt;&amp;lt; Add Rows( 1e6 );
For Each Row( dt2, :X = Random Integer( 999 ); :Y = Random Integer( 999 ); :Z = Random Integer( 999 ); :XYZ = Char( :X ) || " " || Char(:Y ) || " " || Char( :Z ); :Update = {"taco", "cat", "goat", "cheese", "pizza"}[Random Integer( 5 )] );
For Each( {v, i}, 1::10, 
start_time = HP Time();
dt &amp;lt;&amp;lt; Update( With( dt2 ), Match Columns( :XYZ = :XYZ ) );
char_time = HP Time() - start_time;
Print( "Update on single character column match: " || Char( char_time / 1e6 ) || " seconds" );
start_time = HP Time();
dt &amp;lt;&amp;lt; Update( With( dt2 ), Match Columns( :X = :X, :Y = :Y, :Z = :Z ) );
num_time = HP Time() - start_time;
Print( "Update on three integer columns match: " || Char( num_time / 1e6 ) || " seconds" ) );

//"Update on single character column match: 1.700707 seconds"
//"Update on three integer columns match: 0.70421 seconds"
//"Update on single character column match: 1.508058 seconds"
//"Update on three integer columns match: 0.718748 seconds"
//"Update on single character column match: 1.316761 seconds"
//"Update on three integer columns match: 0.654922 seconds"
//"Update on single character column match: 1.344123 seconds"
//"Update on three integer columns match: 0.659323 seconds"
//"Update on single character column match: 1.284766 seconds"
//"Update on three integer columns match: 0.654989 seconds"
//"Update on single character column match: 1.272866 seconds"
//"Update on three integer columns match: 0.666974 seconds"
//"Update on single character column match: 1.289576 seconds"
//"Update on three integer columns match: 0.656926 seconds"
//"Update on single character column match: 1.276214 seconds"
//"Update on three integer columns match: 0.707188 seconds"
//"Update on single character column match: 1.689671 seconds"
//"Update on three integer columns match: 0.668045 seconds"
//"Update on single character column match: 1.375964 seconds"
//"Update on three integer columns match: 0.675418 seconds"

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 23 Jun 2025 14:31:51 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/880951#M104481</guid>
      <dc:creator>mmarchandFSLR</dc:creator>
      <dc:date>2025-06-23T14:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: Update Table Match Speed - which is faster:  Matching multiple columns X, Y, Z (all integers) or Matching Col "X.Y.Z" unique combined string?</title>
      <link>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/881006#M104486</link>
      <description>&lt;P&gt;Please have a look at&lt;LI-MESSAGE title="Speed up Tables/Update" uid="652189" url="https://community.jmp.com/t5/JMP-Wish-List/Speed-up-Tables-Update/m-p/652189#U652189" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;for further details about the speed issue of Tables/Update.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;If the matches are unique (every entry shows up once), the function is fast.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It gets extremely slow when values show up multiple times:&lt;/P&gt;
&lt;P&gt;The root cause:&lt;BR /&gt;- the match is detected for each row in the &lt;STRONG&gt;target table&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;- TIMES each match in the &lt;STRONG&gt;source table &lt;/STRONG&gt;(the last one "sticks")&lt;/P&gt;
&lt;P&gt;- TIMES number of columns to add and update (the information about the matches is generated again and again)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Therefore, even for small tables wich just a few 100k rows, it can take hours till update finishes - enough time to write multiple posts on the topic ....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Who dares to try&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;start_time = HP Time();
dt &amp;lt;&amp;lt; Update( With( dt2 ), Match Columns( :X = :X ) );
char_time = HP Time() - start_time;
Print( "Update on single numeric column match: " || Char( char_time / 1e6 ) || " seconds" );&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;... for a table with 5 columns?&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jun 2025 19:28:52 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/881006#M104486</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2025-06-23T19:28:52Z</dc:date>
    </item>
    <item>
      <title>Re: Update Table Match Speed - which is faster:  Matching multiple columns X, Y, Z (all integers) or Matching Col "X.Y.Z" unique combined string?</title>
      <link>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/881007#M104487</link>
      <description>&lt;P&gt;So, if JMP gets stuck during Tables/Update, it's much faster to start a new instance of JMP, load the last saved version of your data file, execute again some unsaved steps and then&amp;nbsp;&lt;BR /&gt;a) use &lt;STRONG&gt;Tabes/Join&lt;/STRONG&gt;&lt;BR /&gt;or&lt;/P&gt;
&lt;P&gt;b) generate a &lt;STRONG&gt;Summary&lt;/STRONG&gt; table of the source table (-&amp;gt; unique matches) and use Tables / Update&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jun 2025 19:29:36 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Update-Table-Match-Speed-which-is-faster-Matching-multiple/m-p/881007#M104487</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2025-06-23T19:29:36Z</dc:date>
    </item>
  </channel>
</rss>

