我已经为9个表创建了使用INNER JOIN的SQL命令,无论如何这个命令需要很长时间(超过五分钟).因此,我的民众建议我将INNER JOIN更改为LEFT JOIN因为LEFT JOIN的表现更好,尽管我所知道的第一次.我改变后,查询的速度显着提高.
我想知道为什么LEFT JOIN比INNER JOIN快?
我的SQL命令如下所示:
SELECT * FROM A INNER JOIN B ON ... INNER JOIN C ON ... INNER JOIN D依此类推
更新: 这是我的架构的简要说明.
FROM sidisaleshdrmly a -- NOT HAVE PK AND FK
INNER JOIN sidisalesdetmly b -- THIS TABLE ALSO HAVE NO PK AND FK
ON a.CompanyCd = b.CompanyCd
AND a.SPRNo = b.SPRNo
AND a.SuffixNo = b.SuffixNo
AND a.dnno = b.dnno
INNER JOIN exFSlipDet h -- PK = CompanyCd, FSlipNo, FSlipSuffix, FSlipLine
ON a.CompanyCd …Run Code Online (Sandbox Code Playgroud) 我刚开始学习DI(我正在研究WPF/Silverlight,但我有计划转向ASP.NET).在我从互联网上阅读了一些DI文章之后,有两个我感兴趣的框架,MEF和Unity.我想知道它们之间的真实世界有什么不同,哪一个是好的.
从下图,Windows 8平台和工具.我知道这意味着我可以将C++,C#或JavaScript用于Metro风格的App.我还看了一些构建的主题演讲,我在这里有几个问题.
Windows 8平台和工具http://www.windowsitpro.com/content/content/140554/windows8-platform-tools_2.jpg
我想编写sql命令来删除所有表中的所有约束.我在互联网上搜索,发现如果数据库很小而且不复杂,以下哪个工作正常.
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)
DECLARE @schema VARCHAR(128)
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
SELECT @schema = (SELECT TOP 1 schema_name(schema_id) FROM sys.objects WHERE [name] = @name)
WHILE @name is not null
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint IS NOT NULL
BEGIN …Run Code Online (Sandbox Code Playgroud) 我在C#中创建一个进程来执行sqlcmd /S <servername> /d <dbname> /E /i以运行创建表,视图和存储过程的sql脚本.
问题是进程在执行完成后没有终止.我想知道如何在操作完成后立即终止sqlcmd.
sqlcmd是否有任何输入参数可以指定立即终止进程,还是可以直接在C#中进行?
更新
这是我用来执行进程的C#代码.
foreach (var file in files)
{
////var begin = DateTime.Now;
////context.TrackBuildWarning(string.Format("Start exec sql file at {0}.", DateTime.Now));
Process process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.FileName = "sqlcmd.exe";
process.StartInfo.Arguments = string.Format("-S {0} -d {1} -i \"{2}\" -U {3} -P {4}", sqlServerName, databaseName, file, sqlUserName, sqlPassword);
process.StartInfo.WorkingDirectory = @"C:\";
process.Start();
process.WaitForExit(); // if I comment out this code it …Run Code Online (Sandbox Code Playgroud) 我正在尝试配置RazorEngine,以便intellisense在视图上工作.我使用nuget添加了RazorEngine和Microsoft.AspNet.Mvc.我创建TestView.cshtml并声明,@model MyModel但它说The name 'model' does not exist in the current context.我也不能在视图中使用intellisense.
我想念这里的任何一步吗?如何在View中启用intellisense?
我在CentOs上设置了一个新的Gitlab,/opt/gitlab-6.9.2-0/apps/gitlab/并在持续交付组下创建了一个新的存储库.完整的路径是/opt/gitlab-6.9.2-0/apps/gitlab/gitlab-satellites/continuous-delivery/cd-test
.此路径下只有一个文件是README.txt.
我试图实现的是当有人将更改推送到服务器时创建一个新文件.以下是我在服务器上所做的事情:
post-update和update文件.git/hooks/' each file creates a new file using当我将更改从本地推送到服务器时,没有创建文件.所以,我想知道我要做些什么来解决这个问题.
更新1
我添加post-receive并post-update到repositories路径VonC建议
[root@git-cd hooks]# pwd
/opt/gitlab-6.9.2-0/apps/gitlab/repositories/continuous-delivery/cd-test.git/hooks
[root@git-cd hooks]# ll
total 48
-rwxrwxr-x. 1 git git 452 Jun 10 06:01 applypatch-msg.sample
-rwxrwxr-x. 1 git git 896 Jun 10 06:01 commit-msg.sample
-rwxrwxr-x. 1 git git 44 Jun 11 00:37 post-receive
-rwxrwxr-x. 1 git git 41 Jun 11 00:38 post-update
-rwxrwxr-x. 1 git …Run Code Online (Sandbox Code Playgroud) 我在excel文件中有程序使用数据,数据有日期和时间.我想总结一下这个信息,即每小时每天都有多少用户使用这个应用程序.如何使用excel公式?
样本数据:
Jun 01, 09:03AM
Jun 01, 10:00AM
Jun 01, 10:50AM
Jun 01, 11:00AM
Jun 01, 11:26AM
Jun 02, 01:00PM
Jun 02, 03:00PM
Jun 02, 04:04PM
Jun 02, 08:00PM
Jun 02, 11:00AM
Jun 02, 12:00PM
Jun 01, 10:50AM
Jun 01, 11:00AM
Jun 02, 11:00AM
Jun 02, 12:00PM
Jun 02, 01:00PM
Jun 03, 08:00PM
Jun 03, 09:00PM
Run Code Online (Sandbox Code Playgroud) 我想使用命令行创建一个jenkins slave.这是一个关于将jenkins slave设置为windows服务的文档,我按照那里的指令操作.我可以运行javaws http://10.121.33.4:8080/computer/Test-Jenkins-Slave-2/slave-agent.jnlp将slave连接到master,但问题是它会在重启机器后断开连接.
我认为最好的方法是将slave作为服务安装.所以,我试图在该页面上再次遵循该指令.我将jenkins Slave作为服务安装,并添加了如下所示的注册表项.
服务的财产:

注册表值:


我想知道我做错了什么吗?文件丢失了什么吗?
我想获取git存储库的所有分支名称.目前,我克隆存储库然后在本地计算机上获取它们.这是低效的,因为我需要的只是名字而不是别的.
我想知道是否可以这样做?如果是这样,我可以使用什么命令.
c# ×3
.net ×2
git ×2
sql ×2
sql-server ×2
asp.net ×1
asp.net-mvc ×1
batch-file ×1
c++ ×1
excel ×1
excel-2007 ×1
git-branch ×1
gitlab ×1
javascript ×1
jenkins ×1
mef ×1
performance ×1
razorengine ×1
registry ×1
sqlcmd ×1
windows-8 ×1