选择两个bigint值之间的记录是最快的方法——所以使用c#对象代替查询数据库

本文关键字:查询 数据库 对象 方法 两个 bigint 选择 记录 之间 | 更新日期: 2023-09-27 17:49:23

好了,我有一个包含2个bigint列的表。

例子
val1 3213 12312
val2 13232 32322
.
.
.
select val from table where 3232 between col1 and col2

我需要使用between操作符来选择单行数据。

现在我尝试dataview,但它失败了。数据视图不支持between操作符

like this

dwIpAddress.RowFilter = string.Format("{0} between CodeVal_1 and CodeVal_2", irParameter);

那么我可以使用哪种方法呢?

有大约20万条数据记录。

试过了,速度超慢

    dwIpAddress.RowFilter = string.Format("CodeVal_1>= {0} and CodeVal_2<={0}", irParameter);
c# 4.0

选择两个bigint值之间的记录是最快的方法——所以使用c#对象代替查询数据库

你试过了吗

    dwIpAddress.RowFilter = string.Format("CodeVal_1 <= {0} and {0} <= CodeVal_2", irParameter);

另外,因为你提到你正在使用c# 4.0,有实体框架,你可以用它来代替DataView。你可能想调查一下。

此外,如果您的DataView包含数据库表中的所有记录,那么您可能需要调整您的查询,以便它只从数据库中获取所需的行,而不是返回所有行,然后在c#中过滤(如果这就是您正在做的)