我对子查询的性能/加入另一个表有一个小问题
INSERT
INTO Original.Person
(
PID, Name, Surname, SID
)
(
SELECT ma.PID_new , TBL.Name , ma.Surname, TBL.SID
FROM Copy.Person TBL , original.MATabelle MA
WHERE TBL.PID = p_PID_old
AND TBL.PID = MA.PID_old
);
Run Code Online (Sandbox Code Playgroud)
这是我的SQL,现在这个东西运行大约100万次或更多.我的问题是什么会更快?
TBL.SID改为(Select new from helptable where old = tbl.sid) 要么
from并且加入where?edit1
嗯,这个脚本的运行次数和r个人一样多.
我的程序有2个模块,一个填充MaTabelle,一个传输数据.该程序确实将2个数据库合并在一起,因此有时会使用相同的密钥.
现在我正在研究一种没有重复密钥存在的解决方案.
我的解决方案是制作一个'HelpTable'.key(SID)的所有者生成一个新密钥并将其写入"HelpTable".使用此密钥的所有其他表都可以从"HelpTable"中读取它.
edit2
刚想到的东西:
如果一个表作为一个可以为null的键(外键没有链接)那么这将无法使用from或?
这段代码出了什么问题?
class School {
public:
template<typename T> size_t count() const;
private:
vector<Boy*> boys;
vector<Girl*> girls;
};
template<> size_t School::count<Boy>() const {
return boys.size();
}
Run Code Online (Sandbox Code Playgroud)
我的编译说
error: specialization of ‘size_t School::count() [with T = Boy]’
after instantiation
Run Code Online (Sandbox Code Playgroud)
能否请你帮忙?
PS.这就是我以后要用它的方法:
School s;
size_t c = s.count<Boy>();
Run Code Online (Sandbox Code Playgroud) 这是我的代码 -
#include <iostream>
#include <conio.h>
using namespace std;
class Base
{
public:
int a;
};
//int Base::a = 5;
class Derived : public Base
{
public:
int static a;
};
int main()
{
Derived d;
cout<<d.a;
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在这里得到一个链接器错误.但是,当我以相反的方式做到这一点时 -
class Base
{
public:
int static a;
};
int Base::a = 5;
class Derived : public Base
{
public:
int a;
};
Run Code Online (Sandbox Code Playgroud)
我没有错.有人可以解释一下这里发生了什么.
为什么不使用try/catch的子程序给出与eval-version相同的结果?
#!/usr/bin/env perl
use warnings; use strict;
use 5.012;
use Try::Tiny;
sub shell_command_1 {
my $command = shift;
my $timeout_alarm = shift;
my @array;
eval {
local $SIG{ALRM} = sub { die "timeout '$command'\n" };
alarm $timeout_alarm;
@array = qx( $command );
alarm 0;
};
die $@ if $@ && $@ ne "timeout '$command'\n";
warn $@ if $@ && $@ eq "timeout '$command'\n";
return @array;
}
shell_command_1( 'sleep 4', 3 );
say "Test_1";
sub shell_command_2 {
my $command = shift; …Run Code Online (Sandbox Code Playgroud) 我试图寻找差异,但每次变量都相同,任何想法?
如果有人System.exit()在servlet中写入服务器或应用程序崩溃会发生什么?
在网上搜索,我找到了大量关于字体的正确MIME类型的不同建议,但我还没有尝试任何可以解决Chrome警告的MIME类型,如下所示:
资源解释为字体但使用MIME类型font/otf传输
字体是OTF.
到目前为止,我已尝试过以下MIME类型
IF Session("days")> 1 then
Run Code Online (Sandbox Code Playgroud)
此语句在我的经典 ASP 代码中不起作用。非常感谢任何帮助
只是我需要知道这是否是 Classic ASP 的有效会话代码(没有显示错误消息)
我有一个使用Criteria的nHibernate查询,我试图在查询本身中将一个字符串转换为bool.我已经将字符串转换为int,并且运行良好("DataField"属性为"1"作为字符串):
var result = Session
.CreateCriteria<Car>()
.Add(Restrictions.Eq((Projections.Cast(NHibernateUtil.Int32,
Projections.Property("DataField"), 1))
.List<Car>();
tx.Commit();
Run Code Online (Sandbox Code Playgroud)
但我试图用bool做同样的事情,但我没有得到预期的结果:
var result = Session
.CreateCriteria<Car>()
.Add(Restrictions.Eq((Projections.Cast(NHibernateUtil.bool,
Projections.Property("DataField"), true))
.List<Car>();
tx.Commit();
Run Code Online (Sandbox Code Playgroud)
"DataField"是字符串"True",但结果为空列表,其中应包含100个元素,其中"DataField"属性字符串设置为"True".我已尝试使用字符串"true"和"1",但结果仍然是一个空列表.
[编辑]
如下面的评论,我可以检查字符串"True"或"False",但我会说这是一个比布尔值更普遍的问题.
请注意,这个想法是对数据进行某种键值表示,其中值可以是不同的数据类型.我需要值表来包含所有数据,因此将数据存储为字符串似乎是最干净的解决方案!
我已经能够使用上面的方法将int和double存储为字符串,并在查询中存储,但我没有成功使用相同的方法DateDime和Boolean.
对于DateTime,拥有实际的DateTime对象至关重要.
如何将从字符串转换为bool,并将字符串转换为DateTime在查询中工作?
谢谢
我想知道表是否有标识列.表格不为我所知.我还没有完成表格的结构.使用查询?
我正在使用Sql Server Compact Edition.