title: SqlCommand.Cancel() causes a performance boost?
body: <p>I have seen this show up several places in code, never with an explanation, just a cryptic comment above it (Declaration and execution included for an idea of context. It's just a standard procedure of running a SqlCommand): </p>
  
  <pre><code>//SqlCommand cmd = new SqlCommand();
  //cmd.ExecuteReader();
  //Read off the results
  
  //Cancel the command. This improves query time.
  cmd.Cancel ();
  </code></pre>
  
  <p>Basically, after finishing a query, it goes back and cancels it, claiming some performance boost. I suppose you might get some memory back when it goes and frees up the XmlReader, but usually it's about to go out of scope anyways.</p>
  
  <p>I've never bothered with it before, but it's finally showed up in some code I'm reviewing. <strong>Does canceling a SqlCommand after running it in the code actually somehow speed it up, or is this just some weird programmer superstition?</strong></p>