在使用 JDBC 时,我经常遇到像这样的结构
ResultSet rs = ps.executeQuery();
while (rs.next()) {
int id = rs.getInt(1);
// Some other actions
}
我问自己(以及代码作者)为什么不使用标签来检索列值:
int id = rs.getInt("CUSTOMER_ID");
我听到的最好的解释是关于性能的。但实际上,它是否使处理速度非常快?我不这么认为,尽管我从未进行过测量。在我看来,即使按标签检索会有点慢,但它提供了更好的可读性和灵活性。
那么有人可以给我很好的解释,避免通过列索引而不是列标签检索列值吗?两种方法的优缺点是什么(也许,关于某些 DBMS)?
原文由 Rorick 发布,翻译遵循 CC BY-SA 4.0 许可协议
默认情况下,您应该使用字符串标签。
优点:
缺点:
你更喜欢哪个?
整数?
或字符串?
如果在位置 1 处插入了一个新列怎么办?您更喜欢哪个代码?或者,如果列的顺序发生变化,您需要更改哪个代码版本?
这就是为什么你应该 默认使用字符串标签。