A terrible schema from a clueless programmer
People in the comments are getting (rightfully) outraged about the poor understanding of indexing, but I&#x27;m a little surprised that everyone here doesn&#x27;t seem to understand normalization either. The original schema is perfectly normalized and is already in 3NF: none of the columns shown has a dependence on any of the other columns outside of the primary key (in other words, if you knew eg the values of the ip, helo, and from columns, you&#x27;d still have no information about the &quot;to&quot; column).<p>Normalization does not mean &quot;the same string can only appear once&quot;. Mapping the string &quot;address1@foo.bar&quot; to a new value &quot;id1&quot; has no effect on the relations in your table. Now instead of &quot;address1@foo.bar&quot; in 20 different locations, you have &quot;id1&quot; in 20 different locations. There&#x27;s been no actual &quot;deduplication&quot;, but that&#x27;s again not the point. Creating the extra tables has no impact on the normalization of the data.