小编maw*_*urn的帖子

为什么这个C#程序在具有24GB内存的64位计算机中会耗尽内存?

这是我的代码:

public class Class1
{
    public int[][] binArray;
    public Class1()
    {
        binArray = new int[1000][];
        for (int i = 0; i < 1000; i++)
        {
            binArray[i] = new int[61608];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
class Program
{
    static void Main(string[] args)
    {
        Class1 c1 = new Class1();
        Class1 c2 = new Class1();
        Class1 c3 = new Class1();
        Class1 c4 = new Class1();
        Class1 c5 = new Class1();
        Class1 c6 = new Class1();
        Class1 c7 = new Class1();   // Memory will run out …
Run Code Online (Sandbox Code Playgroud)

c# out-of-memory

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

如何在SUM语句中使用别名?

我不确定如何说出问题,我知道措辞不好,但问题本身很简单.

这就是我想要做的.

 SELECT /*stuff*/
      , ISNULL (a.z, a.y) AS "c1"
      , SUM(a.x - c1) AS "c2"
 /* more stuff */
Run Code Online (Sandbox Code Playgroud)

这就是发生的事情.

列名称"c1"无效.

我甚至不确定我想做的事情是否可行.我总是可以在代码中的其他地方执行此操作,但我尝试让SQL为我完成大部分工作.

我正在使用SQL Server 2008 R2.

sql sql-server sql-server-2008

1
推荐指数
1
解决办法
4946
查看次数

带子查询的MySQL更新

我有一个令人烦恼的问题,我正在尝试使用更新查询...以下语句应该将channels.media_view_count更新为子查询的结果(适用于所有通道).

UPDATE channels c
SET c.media_view_count = (
    SELECT SUM(t.view_count)
    FROM (
      SELECT DISTINCT m.viewkey, m.view_count
      FROM media m
      INNER JOIN participants p ON m.id = p.medium_id
      WHERE p.user_id = c.id AND m.is_viewable = 1
            AND (p.pending = 0)
      ) AS t
  );
Run Code Online (Sandbox Code Playgroud)

子查询独立工作(当指定c.id的实际id时,如47778或其他),但是当我执行此语句时,我得到:

ERROR 1054 (42S22): Unknown column 'c.id' in 'where clause'
Run Code Online (Sandbox Code Playgroud)

我以为我能够从子查询中访问channels表(别名为c)?我错过了什么或者我在这里完全错了吗?

任何和所有的帮助表示赞赏:)

谢谢,

  • 杰夫

mysql sql subquery

1
推荐指数
1
解决办法
6053
查看次数

将2 varchar属性转换为datetime时出错

我有一个数据库,其中CREATEDATECREATETIME存储在2个单独的属性中作为varchars.我正在尝试将这两个组合成一个smalldatetime属性.

当我运行以下转换时,我收到错误:

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

UPDATE UsersTemp
SET Created =   CONVERT(datetime, CAST(CONVERT(date, CreateDateIMF, 102)AS varchar(50)) 
            + ' ' +
            CASE WHEN LEN(CreateTime) = 6 THEN 
                 Left(CreateTime, 2) + ':' + SUBSTRING(CreateTime, 2, 2)
            ELSE 
                 Left(CreateTime, 1) + ':' + SUBSTRING(CreateTime, 1, 2)
            END
            + ':' + Right(CreateTime, 2), 120)
Run Code Online (Sandbox Code Playgroud)

(是的,这是凌乱的SQL,但只是暂时以我能更好地使用它的方式获取这些数据)

在使用整套设备时,我尝试了许多不同的东西,但我似乎无法让它工作.

在a中尝试上述参数时SELECT,日期工作正常,所以问题存在于时间字段中,但我不确定如何纠正它.

示例原始数据:

CREATEDATEIMF
 20120220
 20040415
 20040415
 20040415 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008

0
推荐指数
1
解决办法
186
查看次数

这段代码的Big-O表示法是什么?

这段代码的Big-O表示法是什么?

for(int i=0; i<10; ++i) 
    for(int a=0; a<n; ++a){
        cout << "*";
        cout << endl;
    }
Run Code Online (Sandbox Code Playgroud)

c++ big-o

-5
推荐指数
1
解决办法
362
查看次数

标签 统计

sql ×3

sql-server ×2

sql-server-2008 ×2

big-o ×1

c# ×1

c++ ×1

mysql ×1

out-of-memory ×1

subquery ×1

t-sql ×1