小编Ori*_*nMD的帖子

SQL WHERE ID IN(id1,id2,...,idn)

我需要编写一个查询来检索一个大的id列表.

我们支持许多后端(MySQL,Firebird,SQLServer,Oracle,PostgreSQL ......)所以我需要编写一个标准的SQL.

id集的大小可能很大,查询将以编程方式生成.那么,最好的方法是什么?

1)使用IN编写查询

SELECT * FROM TABLE WHERE ID IN (id1, id2, ..., idn)
Run Code Online (Sandbox Code Playgroud)

我的问题是.如果n很大会怎么样?还有,性能呢?

2)使用OR编写查询

SELECT * FROM TABLE WHERE ID = id1 OR ID = id2 OR ... OR ID = idn
Run Code Online (Sandbox Code Playgroud)

我认为这种方法没有n限制,但如果n非常大,那么性能呢?

3)编写程序化解决方案:

  foreach (var id in myIdList)
  {
      var item = GetItemByQuery("SELECT * FROM TABLE WHERE ID = " + id);
      myObjectList.Add(item);
  }
Run Code Online (Sandbox Code Playgroud)

当通过网络查询数据库服务器时,我们遇到了这种方法的一些问题.通常最好做一个检索所有结果的查询,更好的是那么多小的查询.也许我错了.

什么是这个问题的正确解决方案?

sql select

151
推荐指数
5
解决办法
25万
查看次数

找不到system.web.http

我必须添加一个system.web.http程序集引用,因为我将HttpConfiguration类添加到我的单元测试类库项目中.

当我浏览添加引用对话框时,我找不到system.web.http程序集.

类库项目具有针对的.Net 4.5.1框架.

asp.net visual-studio asp.net-mvc-4 visual-studio-2013

32
推荐指数
2
解决办法
3万
查看次数

C#将x个字符的出现附加到字符串

将x个出现的字符数添加到字符串的最佳/推荐方法是什么?

String header = "HEADER";
Run Code Online (Sandbox Code Playgroud)

标题变量需要有,比方说100 0,添加到它的末尾.但这个数字会根据其他因素而改变.

c# string

11
推荐指数
3
解决办法
8879
查看次数

在Matlab中重复字符串中的字母

我想在Matlab中生成一个看起来像的字符串

"BBBBBBBBBBBBBBBBCCCCCCCCCCCCCC"

其中,"B"重复m时间和"C"重复n次数.是否有任何类似于("B","C",n,m)这样做的输入函数?

matlab

-2
推荐指数
1
解决办法
136
查看次数