title: Is varchar(MAX) always preferable?
body: <p>Regarding SQL Server, I understand :</p>
  
  <ul>
  <li><p><code>var</code> means the memory is lazy allocated, meaning it fits to the data exactly (on insertion).</p></li>
  <li><p><code>MAX</code> means there is no size restriction\limitation.</p></li>
  </ul>
  
  <p>Then, is it always preferable to use <code>MAX</code> when using <code>varchar</code>, as we don't allocate the whole size anyhow?</p>
  
  <p>Should we use a constant size only if there is a constraint we want to enforce on this DB column?</p>