title: ResultSet: Retrieving column values by index versus retrieving by label
body: <p>When using JDBC, I often come across constructs like  </p>
  
  <pre><code>ResultSet rs = ps.executeQuery();
  while (rs.next()) {
      int id = rs.getInt(1);
      // Some other actions
  }
  </code></pre>
  
  <p>I asked myself (and authors of code too) why not to use labels for retrieving column values:  </p>
  
  <pre><code>int id = rs.getInt("CUSTOMER_ID");
  </code></pre>
  
  <p>The best explanation I've heard is something concerning performance. But actually, does it make processing extremely fast? I don't believe so, though I have never performed measurements. Even if retrieving by label would be a bit slower, nevertheless, it provide better readability and flexibility, in my opinion.<br>
  So could someone give me good explanation of avoiding to retrieve column values by column index instead of column label? What are pros and cons of both approaches (maybe, concerning certain DBMS)? </p>