小编Joh*_*hnB的帖子

删除具有4200万行的表的相关子查询的SQL?

我有一张cats42,795,120行的表.

显然这是很多行.所以当我这样做时:

/* owner_cats is a many-to-many join table */
DELETE FROM cats
WHERE cats.id_cat IN (
SELECT owner_cats.id_cat FROM owner_cats
WHERE owner_cats.id_owner = 1)
Run Code Online (Sandbox Code Playgroud)

查询超时:(

(编辑:我需要增加我的 CommandTimeout 值,默认只有30秒)

我不能用,TRUNCATE TABLE cats因为我不想吹掉其他主人的猫.

我正在使用SQL Server 2005,其中"恢复模式"设置为"简单".

所以,我想做这样的事情(从应用程序btw执行这个SQL):

DELETE TOP (25) PERCENT FROM cats
WHERE cats.id_cat IN (
SELECT owner_cats.id_cat FROM owner_cats
WHERE owner_cats.id_owner = 1)

DELETE TOP(50) PERCENT FROM cats
WHERE cats.id_cat IN (
SELECT owner_cats.id_cat FROM owner_cats
WHERE owner_cats.id_owner = 1)

DELETE FROM cats
WHERE cats.id_cat …
Run Code Online (Sandbox Code Playgroud)

sql sql-server correlated-subquery sql-delete

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

<input type ="button"runat ="server"/>在ASP.NET中不起作用

好吧,这看起来很愚蠢,但在ASP.NET .ascx控件上,我正在尝试使用:

<input type="button" runat="server" />
Run Code Online (Sandbox Code Playgroud)

代替:

<asp:Button runat="server" />
Run Code Online (Sandbox Code Playgroud)

它对我不起作用.这段代码:

<asp:Button id="btnBuyCat" runat="server" Text="Buy Cat"
ToolTip="Click to buy a cat" OnClick="btnBuyCat_Click" EnableViewState="false" />
Run Code Online (Sandbox Code Playgroud)

呈现以下HTML :( 忽略命名容器btw)

<input type="submit" id="btnBuyCat" name="btnBuyCat" value="Shopping Cart"
title="Click to buy a cat" />
Run Code Online (Sandbox Code Playgroud)

这主要是罚款,但我想input type="button"不会input type="submit".

我试过这段代码:

<input type="button" id="btnBuyCat" name="btnBuyCat" runat="server"
value="Buy Cat" title="Click to buy a cat" onclick="btnBuyCat_Click"
enableviewstate="False" />
Run Code Online (Sandbox Code Playgroud)

并获取此HTML:

<input type="button" id="btnBuyCat" name="btnBuyCat"" value="Buy Cat"
title="Click to buy a cat" onclick="btnBuyCat_Click" />
Run Code Online (Sandbox Code Playgroud)

不幸的是,渲染按钮不起作用.此外,我甚至试图input type="submit"检查,但除非我使用 …

javascript asp.net

6
推荐指数
1
解决办法
3万
查看次数

我的项目引用了3个不同版本的mscorlib.dll

我注意到我的一个项目引用了3个不同版本的mscorlib:

  1. 1.0.5000.0
  2. 2.0.0.0
  3. 4.0.0.0

替代文字

这篇关于"mscorlib.dll和System.dll "的帖子帮助我理解了mscorlib的用途,但我想知道应用程序是否正常/必需要求此程序集的多个版本.也许这是因为我将我的项目从VS 2005升级到VS 2010.

是否有可能让我的项目仅引用mscorlib的4.0.0.0版本?

asp.net reference visual-studio-2010 mscorlib

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

自上一步以来,进程或线程已更改

我在Visual Studio上调试了一些代码.此代码属于我创建的自定义会话提供程序,我正在我的Web应用程序启动时调试它.它开始初始化我的提供程序,在该函数上我有一个第一次成功命中的断点.但是,同一个断点再次被击中,但它有一个小的蓝色图标,如果你将鼠标悬停在上面,则会显示以下消息:

自上一步以来,进程或线程已更改

在我的研究中,我发现了几种答案,人们说断点正在与其他人说不同的集合,说断点已经从另一个线程中被击中.

有人知道这到底是什么意思吗?

asp.net session-state visual-studio-2012

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

哪个数据库(DBMS)可以最好地处理大型表?

在SQL Server(2008 R2 Developer Edition)中也有一个非常大的表,它有一些性能问题.

我想知道另一个DBMS是否会更好地处理大型表.我主要只考虑以下系统:SQL Server 2008,MySQL和PostgreSQL 9.0.

或者,正如上面提到的引用问题所示,表大小和性能主要是索引和缓存的一个因素吗?

此外,更大的正常化会提高性能,还是会阻碍它?

编辑:

下面的评论之一声称我含糊不清.我有超过2000万行(20年的库存数据和2年的期权数据),我试图弄清楚如何将性能提高一个数量级.我只关心读/计算性能; 我不关心写性能.唯一的写入是在数据刷新期间,那些是BulkCopy.

我已经有了一些索引,但希望我做错了,因为我需要加快速度.我也需要开始查看我的查询.

提供的评论和答案已经帮助我了解如何开始分析我的数据库.我是程序员,而不是DBA(因此Marco的书推荐是完美的).我没有那么多的数据库经验,我以前从未对数据库进行过分析.我会尝试这些建议并在必要时报告.谢谢!

mysql postgresql sql-server-2008 database-performance

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

IF语句中的运营商顺序

我经常在必要时执行此操作以防止空指针异常:

// Example #1
if (cats != null && cats.Count > 0)
{
  // Do something
}
Run Code Online (Sandbox Code Playgroud)

在#1中,我总是假设cats != null需要先行,因为操作顺序从左到右进行评估.

但是,示例#1 不同,现在我想要做一些事情,如果对象是null或者如果Count是零,因此我使用逻辑OR而不是AND:

// Example #2
if (table == null || table.Rows == null || table.Rows.Count <= 0)
{
  // Do something
}
Run Code Online (Sandbox Code Playgroud)

逻辑比较的顺序是否重要?或者我也可以反转顺序并获得相同的结果,例如在示例#3中?

// Example #3
if (table.Rows.Count <= 0 || table.Rows == null || table == null)
{
  // Do something
}
Run Code Online (Sandbox Code Playgroud)

(顺便说一下,我意识到我可以像下面那样重写#2,但我觉得它很乱,而且我仍然对OR运算符感到好奇)

// Example #4
if (!(table …
Run Code Online (Sandbox Code Playgroud)

c# if-statement nullpointerexception logical-operators

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

通过C#以编程方式创建快捷方式,并设置“以管理员身份运行”属性

我已经知道如何使用IWshRuntimeLibrary和从C#应用程序以编程方式创建快捷方式WshShellClass。或者我可以使用IShellLink

现在,如果用户的PC运行的是Windows Vista或Windows 7,我也希望能够通过编程方式设置该快捷方式的“以管理员身份运行”属性。

那可能吗?如果是这样,怎么办?

替代文字

c# uac shortcut windows-7

3
推荐指数
4
解决办法
7487
查看次数

对Codility演示测试感到困惑

我参加了Codility.com演示测试.

我的程序为其中一个单元测试返回了错误的值:

TEST extreme_large_numbers具有极大数字的序列测试算术溢出.

时间0.056秒.

结果错误答案得到2,但它不是平衡点,总和[0..1] = 4294967294,总和[3..3] = - 2

好吧,因为我最初在代码中看不到问题,所以我尝试在Visual Studio项目中运行它.然后编译器发现它4294967294太大了int.它需要是一个uint或一个long.所以我改变了一切long,它在VS中工作.

但是,演示测试不允许您将函数输入/返回类型更改为long.

  • 2,147,483,647(最大签名32位int)
  • 4,294,967,294(由Codility.com单位测试给出的数字)

有人可以解释一下这个程序如何可以4294967294作为一个数据值正常工作int[]吗?

替代文字

c# algorithm

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

让用户选择要在WPF DataGrid上显示的列

DataGrid有一组默认的列显示,但我也想让用户选择/取消选择其应用程序上显示的列.在WPF中有相对简单的方法吗?

DataGrid是必然的DataTable.

注意:RadioButton如果上述功能过于复杂,我可以通过解决方案使用简单的"默认列/所有列" .

c# wpf wpf-controls wpfdatagrid

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

我的链接的可点击区域太大

我有一个<img>包含在链接中的徽标,链接包含在一个链接中<div>.

我的下面的代码导致我的链接的可点击区域水平延伸100%到视口的两个边缘.

如何使链接的可点击区域与我的徽标大小相同?

我的HTML:

<div id="logo-container">
    <div id="logo">
    <a href="dashboard.php"><img src="http://placehold.it/350x150" /></a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS:

#logo-container{
    width:100%;
    float:left;
    height:auto;
    margin:0 auto 0 auto;
    background:#ECECEA;
}

#logo{
    margin:0 auto;
    height:auto;
}

#logo img {
    display:block;
    margin:6px auto 10px auto;
}

#logo img{
    width:330px;
    height:auto;
}
Run Code Online (Sandbox Code Playgroud)

html css

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

为什么我的词典会在字符串中添加额外的转义字符?

App.config中:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="1" value="An error occured.\r\nPlease try again later." />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

码:

Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
string key = "1";

keyValuePairs.Add(key, ConfigurationManager.AppSettings["key"]);

if (keyValuePairs.ContainsKey(key))
{
  // when I hover over the object, keyValuePairs, in my debugger, I see, "An error occured.\r\nPlease try again later."
  string value1 = keyValuePairs[key];
  // now when I hover over the local variable, value, I see, "An error occured.\\r\\nPlease try again later."
}
Run Code Online (Sandbox Code Playgroud)

我很好奇为什么上面的代码将转义字符添加到"\ r \n"以使其成为"\ …

c# string debugging dictionary visual-studio

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

当字段具有NULL值时,SQL WHERE子句不返回行

好的,所以我知道这个问题:

当SET ANSI_NULLS为ON时,对空值的所有比较都计算为UNKNOWN

但是,我试图查询一个DataTable.

我可以添加到我的查询中:

OR col_1 IS NULL OR col_2 IS NULL
Run Code Online (Sandbox Code Playgroud)

每列,但我的表有47列,我构建动态SQL(字符串连接),它只是似乎是一个痛苦这样做.还有其他解决方案吗?

我要带回比较中有NULL值的所有行WHERE.

UPDATE

给我带来问题的查询示例:

string query = col_1 not in ('Dorothy', 'Blanche') and col_2 not in ('Zborna', 'Devereaux')
grid.DataContext = dataTable.Select(query).CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)

(如果/当col_1 = null和/或时没有检索行col_2 = null)

c# sql datatable

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

如何在Java中将int数组转换为base64字符串?

我该如何转换这个数组:

int[] ints = { 233, 154, 24, 196, 40, 203, 56, 213, 242, 96, 133, 54, 120, 146, 46, 3 };
Run Code Online (Sandbox Code Playgroud)

到这个字符串?

String base64Encoded = "6ZoYxCjLONXyYIU2eJIuAw==";
Run Code Online (Sandbox Code Playgroud)

用法:

String base64Encoded  = ConvertToBase64(int[] ints);
Run Code Online (Sandbox Code Playgroud)

(我问这个问题,因为byte在Java中签名,但byte在C#中是无符号的)

java base64 unsigned

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