title: Are DataSet primary key columns indexed?
body: <p>I'm writing a quick utility app with out of the box win forms and data sets.</p>
  
  <pre><code>private void timer1_Tick(object sender, EventArgs e)
  {
     if(_maxTimestamp == null) return;
  
     var newRows = commonLogTableAdapter.GetDataByTimestamp(_maxTimestamp.Value);
     foreach (var row in newRows.Where(c =&gt; !dataSet1.CommonLog.Rows.Contains(c.Id)))
     {
        dataSet1.CommonLog.ImportRow(row);
     }
  }
  </code></pre>
  
  <p>Will the lookup to see if the row already exists have the performance of a hash lookup or could it end up searching the whole collection over and over again?</p>
  
  <p>The documentation for <a href="https://msdn.microsoft.com/en-us/library/0hc992ac(v=vs.100).aspx" rel="nofollow">DataRowCollection.Contains Method (Object)</a> doesn't say.</p>