gpt4 book ai didi

c# - sql 选择顶部 X 到 X+N

转载 作者:行者123 更新时间:2023-12-03 04:51:51 26 4
gpt4 key购买 nike

我有以下代码:

private ArrayList LoadContentObjects()
{
ArrayList tmp = new ArrayList();
SqlCommand command = null;
command = new SqlCommand("SELECT TOP 150 ObjectUrl FROM [ContenbtObjectsUnprocessed]");
command.CommandType = System.Data.CommandType.Text;
command.Connection = conn;
SqlDataReader reader = command.ExecuteReader();

if (reader.HasRows)
{
while (reader.Read())
{
var res = reader.GetString(0);
tmp.Add(res);
}
}

reader.Close();

return tmp;
}

从 ContentObjectsUnprocessed 表中读取 150 行

(must fix the spelling mistake in the table!) It then check is there are rows; if there is it adds them to a tmp ArrayList and returns that to the caller.

当我第二次调用这个方法时。我希望它加载接下来的 150 行。然而,我却没能做到这一点。此 SqlConnection 连接到 Azure Sql Server。

所以问题:

  1. 如何获取提供的方法来读取接下来的“N”行数据库?

最佳答案

select a.ObjectUrl 
from
(
SELECT ObjectUrl,ROW_NUMBER() OVER (order by ObjectDateMaybe) rn
FROM [ContenbtObjectsUnprocessed]
) a
where a.rn<=300 and a.rn>=150

您可以在不同的临时表中缓存 150 行的 block ,以获得更好的性能。

读取速度较快,删除速度较慢:

    SELECT ObjectUrl 
FROM [ContenbtObjectsUnprocessed]
where predefined150smultiples=2

其中预定义的150smultiples是一列,每组150行有1,1,1,1,...2,2,2,2。删除需要更新许多行,因此这可能不太好。正如 hvd 评论的那样,任何更改顺序的更新都会使该列过时,并且需要对整个表进行全新更新,这也不好。

关于c# - sql 选择顶部 X 到 X+N,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com