<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.melissadata.com/index.php?action=history&amp;feed=atom&amp;title=MatchUp_Object%3AOptimizing_Matchcodes</id>
	<title>MatchUp Object:Optimizing Matchcodes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.melissadata.com/index.php?action=history&amp;feed=atom&amp;title=MatchUp_Object%3AOptimizing_Matchcodes"/>
	<link rel="alternate" type="text/html" href="http://wiki.melissadata.com/index.php?title=MatchUp_Object:Optimizing_Matchcodes&amp;action=history"/>
	<updated>2026-05-01T09:37:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://wiki.melissadata.com/index.php?title=MatchUp_Object:Optimizing_Matchcodes&amp;diff=9384&amp;oldid=prev</id>
		<title>Admin at 18:53, 23 July 2015</title>
		<link rel="alternate" type="text/html" href="http://wiki.melissadata.com/index.php?title=MatchUp_Object:Optimizing_Matchcodes&amp;diff=9384&amp;oldid=prev"/>
		<updated>2015-07-23T18:53:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:53, 23 July 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--__FORCETOC__--&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{MatchUpObjectMatchcodesNav&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|MatchcodeCollapse=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{CustomTOC}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{CustomTOC}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some matchcodes process much faster than others in spite of the fact that they detect the same matches. This section will assist in creating the most efficient matchcodes. This discussion is included &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;so developers &lt;/del&gt;can better understand why certain things are done while optimizing.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some matchcodes process much faster than others in spite of the fact that they detect the same matches. This section will assist in creating the most efficient matchcodes. This discussion is included &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you &lt;/ins&gt;can better understand why certain things are done while optimizing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Optimizing can make a significant difference in processing speed. 58-hour runs have been reduced to four hours simply by optimizing the matchcode.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Optimizing can make a significant difference in processing speed. 58-hour runs have been reduced to four hours simply by optimizing the matchcode.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is important&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, however, that the developer verifies &lt;/del&gt;that a matchcode works in the intended way before attempting any optimizations. If a matchcode is not functioning properly&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;these optimizations will not help&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;and could quite possibly make the situation worse.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is important &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you verify &lt;/ins&gt;that a matchcode works in the intended way before attempting any optimizations. If a matchcode is not functioning properly these optimizations will not help and could quite possibly make the situation worse.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Component Sequence==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Component Sequence==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*It cannot use Swap matching.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*It cannot use Swap matching.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If the matchcode&#039;s second component also follows these conditions, MatchUp Object will incorporate it into its clustering scheme &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(see Clustering on page 3 for more information on clustering)&lt;/del&gt;. Additional components, if they follow in sequence (third, fourth, and so on), will be used if they&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, too, &lt;/del&gt;satisfy these conditions. Incorporating a component into a cluster greatly reduces the number of comparisons MatchUp Object has to perform which, in turn, speeds up your processing.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If the matchcode&#039;s second component also follows these conditions, MatchUp Object will incorporate it into its &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[MatchUp Object:Getting Started#Clustering|&lt;/ins&gt;clustering scheme&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;. Additional components, if they follow in sequence (third, fourth, and so on), will be used if they satisfy these conditions. Incorporating a component into a cluster greatly reduces the number of comparisons MatchUp Object has to perform which, in turn, speeds up your processing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a simple example of optimization.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a simple example of optimization.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://wiki.melissadata.com/index.php?title=MatchUp_Object:Optimizing_Matchcodes&amp;diff=6419&amp;oldid=prev</id>
		<title>Admin: Admin moved page Optimizing Matchcodes to MatchUp Object:Optimizing Matchcodes without leaving a redirect</title>
		<link rel="alternate" type="text/html" href="http://wiki.melissadata.com/index.php?title=MatchUp_Object:Optimizing_Matchcodes&amp;diff=6419&amp;oldid=prev"/>
		<updated>2014-11-25T18:30:08Z</updated>

		<summary type="html">&lt;p&gt;Admin moved page &lt;a href=&quot;/index.php?title=Optimizing_Matchcodes&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Optimizing Matchcodes (page does not exist)&quot;&gt;Optimizing Matchcodes&lt;/a&gt; to &lt;a href=&quot;/index.php?title=MatchUp_Object:Optimizing_Matchcodes&quot; title=&quot;MatchUp Object:Optimizing Matchcodes&quot;&gt;MatchUp Object:Optimizing Matchcodes&lt;/a&gt; without leaving a redirect&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:30, 25 November 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://wiki.melissadata.com/index.php?title=MatchUp_Object:Optimizing_Matchcodes&amp;diff=1428&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;&lt;!--__FORCETOC__--&gt; {{CustomTOC}}  Some matchcodes process much faster than others in spite of the fact that they detect the same matches. This section will assist in creating...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.melissadata.com/index.php?title=MatchUp_Object:Optimizing_Matchcodes&amp;diff=1428&amp;oldid=prev"/>
		<updated>2012-09-11T23:43:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;!--__FORCETOC__--&amp;gt; {{CustomTOC}}  Some matchcodes process much faster than others in spite of the fact that they detect the same matches. This section will assist in creating...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--__FORCETOC__--&amp;gt;&lt;br /&gt;
{{CustomTOC}}&lt;br /&gt;
&lt;br /&gt;
Some matchcodes process much faster than others in spite of the fact that they detect the same matches. This section will assist in creating the most efficient matchcodes. This discussion is included so developers can better understand why certain things are done while optimizing.&lt;br /&gt;
&lt;br /&gt;
Optimizing can make a significant difference in processing speed. 58-hour runs have been reduced to four hours simply by optimizing the matchcode.&lt;br /&gt;
&lt;br /&gt;
It is important, however, that the developer verifies that a matchcode works in the intended way before attempting any optimizations. If a matchcode is not functioning properly, these optimizations will not help, and could quite possibly make the situation worse.&lt;br /&gt;
&lt;br /&gt;
==Component Sequence==&lt;br /&gt;
&lt;br /&gt;
As discussed in the previous section, data may process faster if the first component of a matchcode has certain properties:&lt;br /&gt;
*It must be used in every combination.&lt;br /&gt;
*It cannot use certain types of Fuzzy Matching: Containment; Frequency; Fast Near; Frequency Near; or Accurate Near (other types are okay, though).&lt;br /&gt;
*It cannot use Initial Only matching.&lt;br /&gt;
*It cannot use One Blank Field matching.&lt;br /&gt;
*It cannot use Swap matching.&lt;br /&gt;
&lt;br /&gt;
If the matchcode&amp;#039;s second component also follows these conditions, MatchUp Object will incorporate it into its clustering scheme (see Clustering on page 3 for more information on clustering). Additional components, if they follow in sequence (third, fourth, and so on), will be used if they, too, satisfy these conditions. Incorporating a component into a cluster greatly reduces the number of comparisons MatchUp Object has to perform which, in turn, speeds up your processing.&lt;br /&gt;
&lt;br /&gt;
This is a simple example of optimization.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;alternate01&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Component!!Size!!Fuzzy!!Blank!!1!!style=&amp;quot;border-right:0px;&amp;quot;|2&lt;br /&gt;
|-&lt;br /&gt;
|ZIP/PC||5||No||Yes||X||X&lt;br /&gt;
|-&lt;br /&gt;
|Street #||5||No||Yes||X|| &lt;br /&gt;
|-&lt;br /&gt;
|Street Name||5||No||No||X|| &lt;br /&gt;
|-&lt;br /&gt;
|PO Box||10||No||No|| ||X&lt;br /&gt;
|-&lt;br /&gt;
|Last Name||5||No||Yes||X||X&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As shown here, MatchUp Object will only cluster by ZIP/PC. But note that the last component satisfies all the conditions listed earlier.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;alternate01&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Component!!Size!!Fuzzy!!Blank!!1!!style=&amp;quot;border-right:0px;&amp;quot;|2&lt;br /&gt;
|-&lt;br /&gt;
|ZIP/PC||5||No||Yes||X||X&lt;br /&gt;
|-&lt;br /&gt;
|Last Name||5||No||Yes||X||X&lt;br /&gt;
|-&lt;br /&gt;
|Street #||5||No||Yes||X|| &lt;br /&gt;
|-&lt;br /&gt;
|Street Name||5||No||No||X|| &lt;br /&gt;
|-&lt;br /&gt;
|PO Box||10||No||No|| ||X&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This simple optimization will produce significant improvements in speed. In general, if your matchcode requires multiple components to be used in all set combinations, place them before other components.&lt;br /&gt;
&lt;br /&gt;
==Fuzzy Algorithms==&lt;br /&gt;
&lt;br /&gt;
Fuzzy algorithms fall into two categories: early matching and late matching.&lt;br /&gt;
&lt;br /&gt;
Early matching algorithms are algorithms where a string is transformed into a (usually shorter) representation and comparisons are performed on this result. In MatchUp, these transformations are performed during key generation (the BuildKey function in each interface), which means that the early matching algorithms pay a speed penalty once per record: as each record’s key is built.&lt;br /&gt;
&lt;br /&gt;
Late matching algorithms are actual comparison algorithms. Usually one string is shifted in one direction or another, and often a matrix of some sort is used to derive a result. These transformations are performed during key comparison. As a result, late matching algorithms pay a speed penalty every time a record is compared to another record. This may happen several hundred times per record.&lt;br /&gt;
&lt;br /&gt;
Obviously, late matching is much slower than early matching. If a particular matchcode is very slow, changing to a faster fuzzy matching algorithm may improve the speed. Often, a faster algorithm will give nearly the same results, but it is a good idea to test any such change before processing live data.&lt;br /&gt;
&lt;br /&gt;
===Fuzzy Algorithm Ranking===&lt;br /&gt;
The fuzzy algorithms, ranked from slowest to fastest:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;alternate01&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Algorithm!!Late or Early!!style=&amp;quot;border-right:0px;&amp;quot;|Speed (10=fastest)&lt;br /&gt;
|-&lt;br /&gt;
|Jaro||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Jaro-Winkler||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|n-Gram||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Needleman-Wunch||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Smith-Waterman-Gotoh||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Dice’s Coefficient||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Jaccard Similarity Coefficient||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Overlap Coefficient||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Longest Common Substring||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Double Metaphone||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Accurate Near||Late||1&lt;br /&gt;
|-&lt;br /&gt;
|Fast Near||Late||3&lt;br /&gt;
|-&lt;br /&gt;
|Containment||Late||4&lt;br /&gt;
|-&lt;br /&gt;
|Frequency Near||Late||4&lt;br /&gt;
|-&lt;br /&gt;
|Frequency||Late||6&lt;br /&gt;
|-&lt;br /&gt;
|Phonetex||Early||7&lt;br /&gt;
|-&lt;br /&gt;
|Soundex||Early||8&lt;br /&gt;
|-&lt;br /&gt;
|Vowels Only||Early||9&lt;br /&gt;
|-&lt;br /&gt;
|Numerics Only||Early||9&lt;br /&gt;
|-&lt;br /&gt;
|Consonants Only||Early||9&lt;br /&gt;
|-&lt;br /&gt;
|Alphas Only||Early||9&lt;br /&gt;
|-&lt;br /&gt;
|Exact||N/A||10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed values are only rough estimates.&lt;br /&gt;
&lt;br /&gt;
Another benefit of using a faster fuzzy algorithm is that an application may be able to exploit the component sequence optimization shown earlier. All of the early matching algorithms satisfy the restrictions for first components.&lt;br /&gt;
&lt;br /&gt;
==Unnecessary Components==&lt;br /&gt;
&lt;br /&gt;
Components that are not used in any combinations (in other words, they have no X&amp;#039;s in columns 1 through 16) are a sign of poor matchcode design.&lt;br /&gt;
&lt;br /&gt;
Take the following matchcode:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;alternate01&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Component!!Size!!Fuzzy!!Blank!!1!!style=&amp;quot;border-right:0px;&amp;quot;|2&lt;br /&gt;
|-&lt;br /&gt;
|ZIP/PC||5||No||Yes||X||X&lt;br /&gt;
|-&lt;br /&gt;
|Last Name||5||No||Yes||X||X&lt;br /&gt;
|-&lt;br /&gt;
|First Name||5||No||Yes|| ||&lt;br /&gt;
|-&lt;br /&gt;
|Street #||5||No||Yes||X|| &lt;br /&gt;
|-&lt;br /&gt;
|Street Name||5||No||No||X|| &lt;br /&gt;
|-&lt;br /&gt;
|PO Box||10||No||No|| ||X&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First name is not being used in any combination. Perhaps it was used in a combination that has since been removed from this matchcode, but it is no longer necessary.&lt;br /&gt;
&lt;br /&gt;
==Unnecessary Combinations==&lt;br /&gt;
&lt;br /&gt;
Take the following matchcode:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;alternate01&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Component!!Size!!Fuzzy!!Blank!!1!!2!!3!!style=&amp;quot;border-right:0px;&amp;quot;|4&lt;br /&gt;
|-&lt;br /&gt;
|ZIP/PC||5||No||Yes||X||X||X||X&lt;br /&gt;
|-&lt;br /&gt;
|Last Name||5||No||Yes||X||X||X||X&lt;br /&gt;
|-&lt;br /&gt;
|First Name||5||No||Yes||X||X|| || &lt;br /&gt;
|-&lt;br /&gt;
|Street #||5||No||Yes||X|| ||X|| &lt;br /&gt;
|-&lt;br /&gt;
|Street Name||5||No||No||X|| ||X|| &lt;br /&gt;
|-&lt;br /&gt;
|PO Box||10||No||No|| ||X|| ||X&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the four conditions for matching:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;alternate01&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Condition #1:||ZIP/PC||Last Name||First Name||Street #||Street Name|| &lt;br /&gt;
|-&lt;br /&gt;
!Condition #2:||ZIP/PC||Last Name||First Name|| || ||PO Box&lt;br /&gt;
|-&lt;br /&gt;
!Condition #3:||ZIP/PC||Last Name|| ||Street #||Street Name|| &lt;br /&gt;
|-&lt;br /&gt;
!Condition #4:||ZIP/PC||Last Name|| || || ||PO Box&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is no match that will be detected by condition #1 that would not be detected by condition #3. Similarly, matches found by condition #2 will always be found by condition #4. In other words, condition 3 is a subset of condition 1, and condition 2 is a subset of condition 4. Subsets are rarely desirable.&lt;br /&gt;
&lt;br /&gt;
So either conditions 1 and 2 aren’t needed or conditions 3 and 4 were a mistake. If conditions 1 and 2 are eliminated, the First Name component should also be removed, as it will not be needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MatchUp Object]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>