哪个查询更快?
不存在:
SELECT ProductID, ProductName
FROM Northwind..Products p
WHERE NOT EXISTS (
SELECT 1
FROM Northwind..[Order Details] od
WHERE p.ProductId = od.ProductId)
Run Code Online (Sandbox Code Playgroud)
或者不是:
SELECT ProductID, ProductName
FROM Northwind..Products p
WHERE p.ProductID NOT IN (
SELECT ProductID
FROM Northwind..[Order Details])
Run Code Online (Sandbox Code Playgroud)
查询执行计划表明他们都做同样的事情.如果是这种情况,这是推荐的形式?
这基于NorthWind数据库.
[编辑]
刚刚找到这篇有用的文章:http: //weblogs.sqlteam.com/mladenp/archive/2007/05/18/60210.aspx
我想我会坚持使用NOT EXISTS.
我需要为WMP对象创建自定义音量滑块.当前的滑块很难修改和使用,是否有一种简单的方法可以在HTML页面上生成滑块,将其值传递给javascript函数?
我很难想象一个超过几百行代码的PHP脚本.看来,对于非持久性环境,基于Web的脚本通常是小块,并且用于将一部分网站提供给最终用户.我想知道人们是否正在使用php开发任何类型的大型,持久性或复杂应用程序,以及您正在研究的是什么.我只为小型网站做过小型项目,所以我不知道可以在更大范围内完成什么.了解您正在使用的库以及您正在集成的其他技术也很好.请赐教,这样我才能开始梦想更大的事情!
我听说你可以将数字右移一个.5而不是使用Math.floor().我决定检查其限制以确保它是合适的替代品,因此我检查了以下值并在Google Chrome中获得了以下结果:
2.5 >> .5 == 2;
2.9999 >> .5 == 2;
2.999999999999999 >> .5 == 2; // 15 9s
2.9999999999999999 >> .5 == 3; // 16 9s
Run Code Online (Sandbox Code Playgroud)
在一些摆弄之后,我发现两个最高可能的值,当右移0.5时,将产生2,在Chrome和Firefox中是2.999999999999997779553950949686919152736663818359374999999(以及9重复).IE中的数字为2.9999999999999997779.
我的问题是:数字的意义是什么.0000000000000007779553950749686919152736663818359374?这是一个非常奇怪的数字,它真的激起了我的好奇心.
我一直试图找到答案或至少某种模式,但我认为我的问题在于我真的不理解按位操作.我原则上理解这个想法,但是将一个序列移动到.5对我来说根本没有任何意义.任何帮助表示赞赏.
为了记录,奇怪的数字序列以2 ^ x变化.以下数字的最高可能值仍然正确截断:
for 0: 0.9999999999999999444888487687421729788184165954589843749¯ for 1: 1.9999999999999999888977697537484345957636833190917968749¯ for 2-3: x+.99999999999999977795539507496869191527366638183593749¯ for 4-7: x+.9999999999999995559107901499373838305473327636718749¯ for 8-15: x+.999999999999999111821580299874767661094665527343749¯ ...and so forth
在升级到Visual Studio 2008之后,.NET 2.0中可以使用哪些特定于C#3.0/3.5的新功能?此外,有哪些功能不可用?
可得到
无法使用
1.如何重新解释将浮点数转换为int(或double到long)?
float f = 2.0f;
int i = (int)f; // causes conversion
Run Code Online (Sandbox Code Playgroud)
我只想将位模式复制f到i.如何才能做到这一点?
2. C#中的隐式和显式运算符使用一个中间对象,因为运算符函数是静态的
public static implicit operator MyClass(double s)
{
return new MyClass(s);
}
..
..
MyClass m = 2.2; // this code uses 'm' and one intermediate object.
Run Code Online (Sandbox Code Playgroud)
这适用于引用类型,但对于较大的值类型(例如20-30字节),这将导致不必要的数据复制.我的理解是否正确?如果是,那么为什么C#不具有非静态转换运算符或用户定义的赋值运算符,以便转换/赋值发生在'this'上?如果确实如此,那该怎么做呢?
我想确保人们不能在URL中键入PHP脚本的名称并运行它.这样做的最佳方法是什么?
我可以在文件中设置一个包含此文件的变量,然后在包含的文件中检查该变量,但有更简单的方法吗?
鉴于:
interface I
{
}
class B: I
{
}
class C: I
{
}
class A
{
public void Method(B arg)
{
}
public void Method(C arg)
{
}
public void Method(I arg)
{
// THIS is the method I want to simplify.
if (I is B)
{
this.Method(arg as B);
}
else if (I is C)
{
this.Method(arg as C);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道有更好的方法来设计这种类型的交互,但由于细节需要很长时间来解释这是不可能的.由于这种模式会重复多次,我想用一般的实现来替换条件逻辑,我只能使用一行.我看不到实现这个泛型方法/类的简单方法,但我的直觉告诉我它应该是可能的.
任何帮助,将不胜感激.
我找到太多涉及的项目,使用多种语言的方式(以及这些语言中的太多很酷的功能),以及太多的书籍阅读...
你们如何保持专注并实际完成任何事情,而不是留下一些部分完整的"实验"?
我知道ViewData是什么并且一直使用它,但在ASP.NET Preview 5中他们引入了一些名为TempData的新东西.
我通常强烈地键入我的ViewData,而不是使用对象字典方法.
那么,我何时应该使用TempData而不是ViewData?
对此有什么最佳做法吗?
c# ×3
.net ×2
javascript ×2
php ×2
asp.net-mvc ×1
controls ×1
notin ×1
polymorphism ×1
precision ×1
slider ×1
sql ×1
sql-server ×1
wmp ×1