ADO.NET DataTable约束如何影响性能?

Sei*_*bar 7 .net c# ado.net

对DataTable(例如PrimaryKey和UniqueContraint)的约束是否使得选择效率与SQL Server中的相同?或者他们唯一的目的是对数据实施规则?

myDT.Constraints.Add("PK", myDT.Columns["UniqueID"], true); //add a primary key
myDT.Constrinats.Add(new UniqueConstraint(new DataColumn[] { //add a unique constraint for UserID
    myDT.Columns["UserID"], myDT.Columns["UniqueID"]
})); 
Run Code Online (Sandbox Code Playgroud)

在通过UniqueID或查找DataTable中的数据时,这些示例是否可能具有更好的性能UserID

小智 0

一般来说,限制会减慢速度。但对于选择唯一约束可以加快速度(但我可以找到 MS 参考),它也可能基于选择而受到限制。我找到的大多数参考文献都谈到了减慢速度的限制。

所以在你的情况下它可以提高性能。

http://msdn.microsoft.com/en-us/library/49z48hxc.aspx