c# - ADO.Net DataTables 有索引吗?

标签 c# .net sql-server ado.net datatable

我正在使用 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/

相关文章:

c# - 当控件聚焦时绘制边框

c# - 通过单击行标题显示 DataGrid 行详细信息?

c# - 契约前置条件引起的IEnumerable多重枚举

c# - 如何从字符串创建可读的日期和时间?

sql - 在 SQL Server 中的给定日期之间按周生成报告

sql-server - SQL SERVER代理自动停止工作

c# - 具有序列 ID 的线程安全固定大小循环缓冲区

c# - Microsoft.Build.Tasks.v12.0.dll 上的 UniversalApp 错误 "GenerateResource task failed unexpectedly"

sql-server - XQUERY SQL - 如何将单个节点元素作为变量传递?

c# - MSMQ:如何在远程计算机上创建专用队列