我有一张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) 好吧,这看起来很愚蠢,但在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"检查,但除非我使用 …
我注意到我的一个项目引用了3个不同版本的mscorlib:
1.0.5000.02.0.0.04.0.0.0
这篇关于"mscorlib.dll和System.dll "的帖子帮助我理解了mscorlib的用途,但我想知道应用程序是否正常/必需要求此程序集的多个版本.也许这是因为我将我的项目从VS 2005升级到VS 2010.
是否有可能让我的项目仅引用mscorlib的4.0.0.0版本?
我在Visual Studio上调试了一些代码.此代码属于我创建的自定义会话提供程序,我正在我的Web应用程序启动时调试它.它开始初始化我的提供程序,在该函数上我有一个第一次成功命中的断点.但是,同一个断点再次被击中,但它有一个小的蓝色图标,如果你将鼠标悬停在上面,则会显示以下消息:
自上一步以来,进程或线程已更改
在我的研究中,我发现了几种答案,人们说断点正在与其他人说不同的集合,说断点已经从另一个线程中被击中.
有人知道这到底是什么意思吗?
我在SQL Server(2008 R2 Developer Edition)中也有一个非常大的表,它有一些性能问题.
我想知道另一个DBMS是否会更好地处理大型表.我主要只考虑以下系统:SQL Server 2008,MySQL和PostgreSQL 9.0.
或者,正如上面提到的引用问题所示,表大小和性能主要是索引和缓存的一个因素吗?
此外,更大的正常化会提高性能,还是会阻碍它?
编辑:
下面的评论之一声称我含糊不清.我有超过2000万行(20年的库存数据和2年的期权数据),我试图弄清楚如何将性能提高一个数量级.我只关心读/计算性能; 我不关心写性能.唯一的写入是在数据刷新期间,那些是BulkCopy.
我已经有了一些索引,但希望我做错了,因为我需要加快速度.我也需要开始查看我的查询.
提供的评论和答案已经帮助我了解如何开始分析我的数据库.我是程序员,而不是DBA(因此Marco的书推荐是完美的).我没有那么多的数据库经验,我以前从未对数据库进行过分析.我会尝试这些建议并在必要时报告.谢谢!
我经常在必要时执行此操作以防止空指针异常:
// 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) 我已经知道如何使用IWshRuntimeLibrary和从C#应用程序以编程方式创建快捷方式WshShellClass。或者我可以使用IShellLink。
现在,如果用户的PC运行的是Windows Vista或Windows 7,我也希望能够通过编程方式设置该快捷方式的“以管理员身份运行”属性。
那可能吗?如果是这样,怎么办?

我参加了Codility.com演示测试.
我的程序为其中一个单元测试返回了错误的值:
TEST extreme_large_numbers具有极大数字的序列测试算术溢出.
时间0.056秒.
结果错误答案得到2,但它不是平衡点,总和[0..1] = 4294967294,总和[3..3] = - 2
好吧,因为我最初在代码中看不到问题,所以我尝试在Visual Studio项目中运行它.然后编译器发现它4294967294太大了int.它需要是一个uint或一个long.所以我改变了一切long,它在VS中工作.
但是,演示测试不允许您将函数输入/返回类型更改为long.
有人可以解释一下这个程序如何可以4294967294作为一个数据值正常工作int[]吗?

我DataGrid有一组默认的列显示,但我也想让用户选择/取消选择其应用程序上显示的列.在WPF中有相对简单的方法吗?
这DataGrid是必然的DataTable.
注意:RadioButton如果上述功能过于复杂,我可以通过解决方案使用简单的"默认列/所有列" .
我有一个<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) 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"以使其成为"\ …
好的,所以我知道这个问题:
当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)
我该如何转换这个数组:
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#中是无符号的)
c# ×6
asp.net ×3
sql ×2
algorithm ×1
base64 ×1
css ×1
datatable ×1
debugging ×1
dictionary ×1
html ×1
if-statement ×1
java ×1
javascript ×1
mscorlib ×1
mysql ×1
postgresql ×1
reference ×1
shortcut ×1
sql-delete ×1
sql-server ×1
string ×1
uac ×1
unsigned ×1
windows-7 ×1
wpf ×1
wpf-controls ×1
wpfdatagrid ×1