小编Tim*_*uri的帖子

SQL索引问题:为什么SQL Server更喜欢这个NONCLUSTERED索引到CLUSTERED索引?

我有以下查询:

SELECT
    COUNT(*)
FROM
    FirstTable ft
        INNER JOIN SecondTable st ON ft.STID = st.STID
Run Code Online (Sandbox Code Playgroud)

你可以猜到,"STID"是"SecondTable"的主键......而"FirstTable"将有一个指向第二个表的指针.以下是我的索引:

FirstTable:"STID"列上的非集群索引

SecondTable:CLUSTERED PRIMARY KEY关于"STID"的指数

上面的查询给我一个19.90的子树成本,需要2秒.

在为该查询运行数据库调优顾问程序之后,他们建议使用与第二个表相同的索引...但是非聚集.所以我尝试了这些结果.

FirstTable:"STID"列上的非集群索引

SecondTable:NONCLUSTERED关于"STID"的指数

现在,上面的查询给我一个10.97的子树成本,并且需要<1秒!

这100%粉碎了我的大脑......为什么NONCLUSTERED索引在这种情况下的执行速度比CLUSTERED索引快?

sql-server indexing performance clustered-index

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

使用.NET"WinForms"SplitContainer控件,如何动态隐藏面板?

调用MyPanel.Panel1.Hide(); 或MyPanel.Panel2.Hide(); 只需隐藏面板的控件......但我想让面板的另一面填满整个空间.

所以,如果我隐藏Panel1,我希望Panel2占用整个空间,我希望分离器消失.那可能吗,如果是的话,怎么样?

.net splitcontainer winforms

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

编译为空的虚拟IEnumerable <T>

我正在创建一个基类,它有一个virtual名为"GetBaseAddresses()"的方法.它有一个返回类型IEnumerable<Uri>.yield如果枚举,基类将不会产生任何结果,但派生类可以选择覆盖该方法并返回任意数量的项目.

这是基本方法:

public virtual IEnumerable<Uri> GetBaseAddresses() { }
Run Code Online (Sandbox Code Playgroud)

问题是,这将无法编译.您必须为编译器返回一个值才能满意.所以,因为我想得到一个空的结果,我会回来null,对吧?

public virtual IEnumerable<Uri> GetBaseAddresses() { return null; }
Run Code Online (Sandbox Code Playgroud)

问题在于,如果某人foreach在基类的实例上执行操作,则会因"对象引用未设置..."的运行时错误而崩溃.

所以,回想一下yield return关键字对C#编译器有些神奇...我想出了这个编译器hack(顺便说一下).

public virtual IEnumerable<Uri> GetBaseAddresses()
{
    if (false) { yield return new Uri(""); }
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,即使"if(false){...}"代码被完全编译掉 - 编译器也满意我满足"必须返回一个值"的要求,并且完全符合我的要求 - 也就是说,可以安全枚举的空结果集.

我的问题是 - 如果没有我的编译技巧,有没有办法做到这一点?

c# compiler-construction ienumerable virtual yield-return

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

ASP.NET路由 - 自定义路由完全跳过Global.asax中的所有内容吗?

我有一个简单的ASP.NET 3.5 SP1 Web窗体应用程序...我添加了System.Web.Routing DLL,我做了一个简单的路由,返回一个标准的ASP.NET页面作为"IHttpHandler".

一切都很好......除了HttpContext.Current.User为 ???

所以,我做了一点挖掘(我在Global.asax文件中的所有事件中放置了断点).通常,这些断点会受到影响(当我导航到标准的".aspx"页面时):

  • 的Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_EndRequest

但是,当使用ASP.NET Routing时......这些事件都没有被触发.我错过了什么吗?

asp.net routing webforms

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

有人可以解释DaylightSavingsRule在"EndMonth"之后如何拥有"StartMonth"吗?

使用C#(.NET框架),我循环遍历所有TimeZones及其AdjustmentRules ......以及"毛里求斯标准时间"{(GMT + 04:00)Port Louis)} - 调整规则如下:

IsFixed = false;
DaylightTransitionStart.Month = 10;
DaylightTransitionEnd.Month = 1;
Run Code Online (Sandbox Code Playgroud)

根据我的理解,'IsFixed = false'意味着我使用"StartDate"和"EndDate"字段...而是,我需要使用DaylightTransitionStart和End来动态确定时间是在白天时间还是不.

问题在于,对于大约30个转换规则,"StartMonth"是在"EndMonth"之后

DaylightSavingsTime如何 '2008年10月' 开始到2008年1月结束?

请帮助我理解这一点......一旦我越过这个障碍,我应该有一个完整的"转换到UTC的所有时间区域以及所有历史记录的任何时区"编写的SQL函数.

.net timezone dst

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

在WPF中,如何更新我的自定义属性绑定的对象?

我有一个完美的自定义属性,除非它绑定到一个对象.

原因是一旦执行以下代码:

base.SetValue(ValueProperty, value);
Run Code Online (Sandbox Code Playgroud)

......然后我的控制权不再受约束.我知道这是因为打电话:

base.GetBindingExpression(ValueProperty);
Run Code Online (Sandbox Code Playgroud)

...完美地返回绑定对象 - 直到我调用base.SetValue.所以我的问题是,如何将新的"值"传递给我必须绑定的对象?

编辑:这是代码......

public static readonly DependencyProperty ValueProperty =
    DependencyProperty.Register("Value", typeof(decimal?), typeof(NumericTextBox));

public decimal? Value
{
    get
    {
        return (decimal?)base.GetValue(ValueProperty);
    }
    set
    {
        base.SetValue(ValueProperty, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它是简单的样板,"Microsoft示例"代码.

编辑2:这是绑定的代码......

// Apparently, not showing this line of code here has some people confused...
this.DataContext = new SomeClassWithAPropertyCalledNumericValue();

<my:NumericTextBox Value="{Binding NumericValue}" />
Run Code Online (Sandbox Code Playgroud)

再说......简单.

wpf binding

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

PHP 3到PHP 5升级... 3中的变量没有前面的$ ...是否有背面compat的设置?

好吧,这是一个奇怪的请求,它可能甚至不完全正确......但我正在升级某人的系统......他们正在使用OSCommerce(很久以前).

似乎他们的变量在他们面前没有美元符号的情况下被引用(这对我来说是新的).我在大约7年没有完成PHP,而且我总是使用美元符号.

是否有一个我可以在PHP 5中抛出的设置,假设这些是变量?

例:

mysql_connect(DB_SERVER, DB_UserName, DB_Password);
Run Code Online (Sandbox Code Playgroud)

在我的日子里,那将是:

mysql_connect($DB_Server, etc, etc);
Run Code Online (Sandbox Code Playgroud)

他们的网站有成千上万的文件......不,我不想把美元符号放在一切的前面.

救命!

谢谢,

php variables

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

Transact-SQL格式标准(编码样式)

  1. SQL代码应该如何格式化?

  2. 你应该使用什么样的缩进?

  3. 关键字应该是大写吗?

  4. 列表应如何排列?

sql t-sql coding-style

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