使用CROSS APPLY的主要目的是什么?
我已经阅读(模糊地,通过互联网上的帖子),cross apply
如果你正在进行分区,那么在选择大型数据集时可以更有效率.(寻找灵感)
我也知道CROSS APPLY
不需要UDF作为右表.
在大多数INNER JOIN
查询(一对多关系)中,我可以重写它们以供使用CROSS APPLY
,但它们总是给我相同的执行计划.
任何人都可以给我一个很好的例子,告诉我什么时候能有效的CROSS APPLY
情况INNER JOIN
?
编辑:
这是一个简单的例子,执行计划完全相同.(告诉我一个他们不同的地方,哪里cross apply
更快/更有效率)
create table Company (
companyId int identity(1,1)
, companyName varchar(100)
, zipcode varchar(10)
, constraint PK_Company primary key (companyId)
)
GO
create table Person (
personId int identity(1,1)
, personName varchar(100)
, companyId int
, constraint FK_Person_CompanyId foreign key (companyId) references dbo.Company(companyId)
, constraint PK_Person primary key (personId)
) …
Run Code Online (Sandbox Code Playgroud) 我很惊讶Javascript的Date对象没有实现任何类型的添加功能.
我只想要一个可以做到这一点的函数:
var now = Date.now();
var fourHoursLater = now.addHours(4);
function Date.prototype.addHours(h) {
// how do I implement this?
}
Run Code Online (Sandbox Code Playgroud)
我只想在一个方向上指点一些.
我需要进行字符串解析吗?
我可以使用setTime吗?
毫秒怎么样?
像这样:
new Date(milliseconds + 4*3600*1000 /*4 hrs in ms*/)?
Run Code Online (Sandbox Code Playgroud)
这看起来真的很乱 - 它甚至可以工作吗?
我有一个非常大的javascript文件,我只想在用户点击某个按钮时加载.我使用jQuery作为我的框架.是否有内置方法或插件可以帮助我这样做?
更多细节:我有一个"添加注释"按钮,应该加载TinyMCE javascript文件(我把所有TinyMCE的东西都煮成了一个JS文件),然后调用tinyMCE.init(...).
我不想在初始页面加载时加载它,因为不是每个人都会点击"添加评论".
我明白我可以这样做:
$("#addComment").click(function(e) { document.write("<script...") });
Run Code Online (Sandbox Code Playgroud)
但是有更好/封装的方式吗?
有没有人有关于协议缓冲区与BSON(二进制JSON)或一般JSON的性能特征的任何信息?
这些似乎是用于HTTP的良好二进制协议.我只是想知道从长远来看哪个C#环境会更好.
这是我在BSON和Protocol Buffers上阅读的一些信息.
除了特定的项目(虽然也欢迎这些)...
我应该在办公桌上有哪些工具,书籍,文章和其他资源来帮助我学习Erlang?
另外,Erlang有移动运行时吗?
请指出我正确的方向.
注意:是的,我访问过Erlang和维基百科,但我想听听一些可靠,经验丰富的意见.
如果我有两个列,一个具有非常高的基数,另一个具有非常低的基数(唯一的值#),那么我按哪个顺序分组?
这是一个例子:
select
dimensionName,
dimensionCategory,
sum(someFact)
from SomeFact f
join SomeDim d on f.dimensionKey = d.dimensionKey
group by
d.dimensionName, -- large number of unique values
d.dimensionCategory -- small number of unique values
Run Code Online (Sandbox Code Playgroud)
是否有重要的情况?
我正在保存用户提交的HTML(在数据库中).我必须防止Javascript注入攻击.我见过的最有害的是style ="expression(...)"中的脚本.
除此之外,有效用户内容的公平金额将包含特殊字符和XML结构,所以我想如果可能的话,避免白名单的做法.(列出每个允许的HTML元素和属性).
Javascript攻击字符串的示例是:
1)
"你好,<dog>元素有一个<script> alert("bad!")</ script>问题......"
2)
"嗨,这个<b style ="width:表达式(警告('坏!'))">狗</ b>是黑色的."
有没有办法防止这样的Javascript,并保持其余的完整?
到目前为止,我唯一的解决方案是使用正则表达式来删除某些模式.它解决了案例1,但不是案例2.
编辑: 对不起,忘了提及环境 - 它本质上是MS堆栈:
我希望阻塞点成为ASP.NET层 - 任何人都可以制作错误的HTTP请求.
编辑2:
感谢大家的链接.假设我可以定义我的列表(他的内容将包含许多数学和编程结构,因此白名单会非常烦人)我仍然有一个问题:
什么样的解析器允许我删除"坏"部分?坏部分可能是一个完整的元素,但那么属于这些属性的脚本呢.我无法删除<a hrefs> willy-nilly.
我有这样的事情:
<html>
<body>
<iframe id="someFrame"></iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想使用jQuery编写元素,以便完全等效的HTML将是这样的:
<html>
<body>
<iframe id="someFrame">
<!-- inside the iframe's content -->
<!-- <html><body> -->
<div>A</div>
<div>B</div>
<div>C</div>
<!-- </body></html> -->
</iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
或者,任何普通的Javascript都可以.
谢谢.
编辑:经过一些研究,似乎我正在寻找一个IE等效的iframe的contentDocument属性."contentDocument"是FF支持的W3C标准,但IE不支持.(惊喜)
我想创建一个字符串并通过引用传递它,以便我可以更改单个变量并将其传播到引用它的任何其他对象.
举个例子:
function Report(a, b) {
this.ShowMe = function() { alert(a + " of " + b); }
}
var metric = new String("count");
var a = new Report(metric, "a");
var b = new Report(metric, "b");
var c = new Report(metric, "c");
a.ShowMe(); // outputs: "count of a";
b.ShowMe(); // outputs: "count of b";
c.ShowMe(); // outputs: "count of c";
Run Code Online (Sandbox Code Playgroud)
我希望能够实现这一目标:
var metric = new String("count");
var a = new Report(metric, "a");
var b = new Report(metric, "b");
var c …
Run Code Online (Sandbox Code Playgroud) 我知道如果我实例化一个SqlConnection对象,我真的从连接池中获取连接.当我调用Open()时,它将打开连接.如果我在该SqlConnection对象上调用Close()或Dispose()方法,它将返回到连接池.
但是,这并没有真正告诉我它是否真的关闭,或者我是否仍然有一个与数据库的活动连接.
如何强制SqlConnection在网络级别关闭,或者至少告诉它什么时候关闭?
例:
using(SqlConnection conn = new SqlConnection(DBConnString)) {
conn.Open();
SqlCommand cmd = conn.CreateCommand();
...
cmd.ExecuteReader(CommandBehavior.CloseConnection);
...
}
Run Code Online (Sandbox Code Playgroud)
如果连接是TRULY关闭,则第二次和第三次运行也应该是300 ms.但我知道这些运行并没有真正关闭连接(我检查了SQL Server的活动监视器).它不需要额外的200ms来执行身份验证/等.
如何强制连接真正关闭?
思路
参考
javascript ×5
sql ×3
c# ×2
jquery ×2
sql-server ×2
ado.net ×1
bson ×1
comparison ×1
cross-apply ×1
datetime ×1
erlang ×1
group-by ×1
html ×1
iframe ×1
json ×1
lazy-loading ×1
parsing ×1
performance ×1
regex ×1
string ×1
t-sql ×1
tinymce ×1