问题列表 - 第10717页

JOIN比WHERE更快吗?

假设我有两个链接的表(一个具有另一个的外键):

CREATE TABLE Document (
  Id INT PRIMARY KEY,
  Name VARCHAR 255
)

CREATE TABLE DocumentStats (
  Id INT PRIMARY KEY,
  DocumentId INT, -- this is a foreign key to table Document
  NbViews INT
)
Run Code Online (Sandbox Code Playgroud)

我知道,这不是最聪明的做事方式,但这是我能想到的最好的例子.

现在,我想获得拥有超过500个视图的所有文档.我想到的两个解决方案是:

SELECT *
FROM Document, DocumentStats
WHERE DocumentStats.Id = Document.Id
  AND DocumentStats.NbViews > 500
Run Code Online (Sandbox Code Playgroud)

要么 :

SELECT *
FROM Document
INNER JOIN DocumentStats
ON Document.Id = DocumentStats.Id
WHERE DocumentStats.NbViews > 500
Run Code Online (Sandbox Code Playgroud)

两个查询都是等价的,还是有一种方法比另一种更好?如果是这样,为什么?

我知道我的例子并不完美,而且查询可能需要一些调整,但我希望你明白这一点;)!

编辑:根据答案中的要求,这个问题针对MSSQL,但我有兴趣知道它是否与其他数据库引擎不同(MySQL等...)

sql performance join where-clause

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

如何从vim粘贴到其他使用linux的应用程序?

在成为textmate的长期用户之后,我正在尝试使用vim,虽然我可以看到应用程序的吸引力,甚至像在命令行上调用vim一样简单地粘贴到另一个应用程序中的东西似乎是不必要的复杂.

你怎么把你抓到其他应用程序可用的缓冲区?

目前,我正在键入ggvG以选择整个文件,然后键入y以将其拉入缓冲区,但此缓冲区不可用于其他应用程序.

我正在使用Ubuntu Jaunty(股票上网本混音安装),我正在使用vim 7.2.79.

另外,有没有办法获得一个简单的gui包装vim,就像你使用macvim一样

vim

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

如何在VB6中复制打开的文件?

使用VB6,当另一个人打开文件时,如何将文件从另一台计算机复制到我的计算机?

vb6

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

Delphi 2009处理

有人知道Delphi 2009处理"with"有什么不同吗?

我昨天解决了一个问题,只需将"with"解构为完整引用,如"with Datamodule,Dataset,MainForm".Delphi 2006及更早版本对数据集应用了"Close".Delphi 2009对MainForm应用了"Close"并退出了应用程序!

delphi delphi-2009 with-statement

5
推荐指数
2
解决办法
325
查看次数

在asp.net中动态更改css属性的值

如何在运行时更改css属性值,如所有h1 color ="blue"和所有p color ="green".如果有人知道,请帮助我!

asp.net dynamic web-controls

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

jQuery:在动态添加DOM元素时尝试将函数挂钩到onclick,但它会立即执行该函数

我正在动态地使用jQuery(我的意思是在运行时)将span元素添加到我的页面的DOM中:

// create add task button
$(document.createElement("span"))
    .attr({ id: activityNameHyphened + "-NewButton", name: activityNameHyphened + "-NewButton" })
    .addClass("smallButton")
    .appendTo(cell1)
    .click(CreateTaskRow(ActivityName));
Run Code Online (Sandbox Code Playgroud)

问题是最后一行:我认为它会添加CreateTaskRow(ActivityName)作为span的onclick事件的处理程序,就像:

<span onclick="CreateTaskRow(ActivityName);"></span>
Run Code Online (Sandbox Code Playgroud)

这就是我想要的 - 但是当我在浏览器中运行它时,我可以看到使用调试器,在这一行它会立即运行该函数.

如果我可以更清楚:CreateTaskRow()在我尝试将其添加到onclick时运行(我希望它仅在用户实际单击span时运行).

知道我做错了什么吗?(如果我的问题不够明确,请告诉我)

jquery onclick

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

如何在android中为此创建正则表达式?

假设我有一个这样的字符串:

string = "Manoj Kumar Kashyap";
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个正则表达式来匹配Ka在空格后出现的位置,并且还想获得匹配字符的索引.

我使用的是java语言.

java regex android

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

使用正则表达式匹配来自url的文件夹名称

我想只匹配文件所在的文件夹名称,

如:
PIC/2009年 /cat01.jpg
PIC/2009/ 01 /cat02.jpg

我想把我用粗体添加的内容匹配.

到目前为止我有这个:

[^/]*/
Run Code Online (Sandbox Code Playgroud)

哪个会匹配,
pic/2009 / cat01.jpg

任何的想法?

regex bash shell

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

UNIX便携式原子操作

在C中是否有(POSIX-)可移植方式用于原子变量操作,类似于使用pthread的可移植线程?

原子操作是像"递增和获取"这样的操作,它们以原子方式执行,这意味着没有上下文切换可以干扰操作.在Linux内核空间中,我们必须使用atomic_t类型,在Java中我们有java.util.concurrent.atomic包.

在Linux上,atomic.h文件提供原子操作,但include依赖于平台,例如#include <asm-x86_64/atomic.h>,它在Mac OS X上不能以类似的方式提供.

c concurrency posix atomic

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

黑色UITableViewCell DetailDisclosure配件按钮?

有没有办法将默认UITableViewCellAccessoryDetailDisclosureButton配件按钮从蓝色变为黑色?

iphone objective-c uitableview ios

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