一尘不染

DataReader基于序数的查询与命名查询

sql

Microsoft(和许多开发人员)声称SqlDataReader.GetOrdinal方法与使用命名查找即使用DataReader相比,提高了从DataReader检索值的性能。reader
[“ ColumnName”]。问题是,如果处理小的分页记录集,那么 真正的 性能差异是什么?在整个代码中查找和引用序数索引是否值得付出额外的开销?


阅读 123

收藏
2021-03-10

共1个答案

一尘不染

Microsoft建议不要在循环内调用GetOrdinal。

这将包括使用字符串索引器的间接调用。

您可以在循环的顶部使用GetOrdinal,将序数放入数组中,并使数组中的索引为const或为它们提供一个枚举(根本没有GetOrdinal),或者将GetOrdinal用作具有描述性名称的单个变量。

只有当您的集合很小时,我才真正认为这是过早的优化。

2021-03-10