我正在使用 VSTS 2008 + C# + .Net 3.5 + SQL Server 2008 + ADO.Net。如果我使用 ADO.Net 的数据表从数据库加载表,并且在数据库表中,我在表上定义了几个索引。我的问题是,在ADO.Net DataTable上是否有相关的索引(与我在物理数据库表上创建的索引相同)来提高DataTable的某些操作性能?
提前致谢, 乔治
最佳答案
实际上乔治的问题并不像某些人坚持的那样“糟糕”。 (我越来越相信没有“一个糟糕的问题”这样的东西。
我有一个相当大的表,我将其加载到内存中的 DataTable 对象中。许多处理是在这个表的行上完成的,很多次,在各种(和不同的)子集上,我可以很容易地将其描述为 SELECT 子句的“WHERE ...”。现在有了这个 DataTable,我可以运行 Select() - DataTable 类的一种方法 - 但效率很低。
最后,我决定加载按特定列排序的 DataTable 并实现我自己的 快速搜索,而不是使用 Select() 函数。它被证明要快得多,但当然它只适用于那些排序的列。如果 DataTable 有索引,这个问题就可以避免。
关于c# - ADO.Net DataTables 有索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1109550/