微软(以及许多开发人员)
claim,sqlDataReader.GetOrdinal方法提高了从DataReader检索值的性能,而不是使用命名查找.读取器[ “的ColumnName”].问题是如果处理小的分页记录集,真正的性能差异是什么?是否值得在整个代码中查找和引用序数索引的额外开销?
解决方法
Microsoft recommends not calling GetOrdinal within a loop.
您可以在循环顶部使用GetOrdinal将序数放在数组中,并使数组中的索引为const或具有枚举(根本没有GetOrdinal)或将GetOrdinal用于具有描述性名称的单个变量.
只有当你的设置很小时,我才真的认为这是过早的优化.