使用JDBC时,我经常遇到类似
ResultSet rs = ps.executeQuery();
while (rs.next()) {
int id = rs.getInt(1);
// Some other actions
}
我问自己(也包括代码作者)为什么不使用标签来检索列值:
int id = rs.getInt("CUSTOMER_ID");
我听到的最好的解释是关于性能的。但是实际上,这使处理速度非常快吗?我不相信,尽管我从未进行过测量。我认为,即使按标签检索会稍慢一些,但它仍具有更好的可读性和灵活性。
因此,有人可以给我很好的解释,避免使用列索引而不是列标签来检索列值吗?两种方法的优缺点(也许涉及某些DBMS)是什么?
默认情况下, 您应该使用 字符串标签。
优点:
缺点:
你更喜欢哪个?
整数?
int i = 1;
customerId = resultSet.getInt(i++);
customerName = resultSet.getString(i++);
customerAddress = resultSet.getString(i++);
或字符串?
customerId = resultSet.getInt("customer_id");
customerName = resultSet.getString("customer_name");
customerAddress = resultSet.getString("customer_address");
如果在位置1插入新列怎么办?您想要哪种代码?或者,如果更改了列的顺序,则完全需要更改哪个代码版本?
这就是为什么您应该 默认 使用 字符串标签 的原因 。
我有一个这种格式的数据框 我希望使用数据帧操作获得基于行的特定值的所有(索引、列)对。所有(索引、列、行值)对都是唯一的。 我研究了这个问题:pythonic方法获取索引,column for value==1 虽然这个问题和我的问题完全一样,但这个问题的答案有点模糊,我无法根据这些答案得到我想要的。 我也看过类似的: a) 从数据框中选择特定索引、列对 b) Python:获取与特定值匹配的行的
我目前正在重构一个用Symfony 3编写的应用程序,并且严重依赖ORM,我一直在尝试获取一个包含所选列索引的对象/数组。 现在我对PHP PDO相当熟悉,我记得查询结果的基本获取如下所示 (根据我的查询)它会给我一个类似于下面的数组 在理论方面,我尝试使用几个具有水合参数的内置函数 运气不好,我最后得到了这样的东西 有人能帮我或者给我指出正确的方向吗?如何正确地解决这个问题? ----更新了问题
问题内容: 我在MySQL数据库中有下表: SQL将如下所示: 如您所见,我同时创建了primaryId和和imgDate索引键。我的想法是,该WHERE子句使用primaryId,而ORDER子句使用来查询结果imgDate。 我的问题是,现在使用多索引会更好吗?还是我应该使用多列索引(目前我不太了解)? 这是我从EXPLAIN得到的: 注意:这不是使用多列索引,这是使用上表说明的结果。 问题答
问题内容: 在Python中,我有一个元素列表和一个索引列表。我有什么办法可以立即检索其中的值作为索引的所有那些项? 例: 问题答案: 我不知道有什么方法可以做。但是您可以使用列表理解:
我试图比较两个数据帧的差异,使用一个公共键/索引值,该值由帧中的3列组成。 e、 g.假设两列中的列都是:“COL1”、“COL2”、“COL3”、“COL4” 数据帧是df1 然后,我使用了set_index方法: 然后我想遍历df1数据帧,并检查df2数据帧是否有匹配的索引。我尝试过使用以下方法: 但是它返回false(尽管我可以通过打印看到两者的索引都存在)。 我做错了什么? 另外,如何使用