我在数据库表上运行sp_executesql时遇到一些问题.我正在使用ORM(NHibernate)生成一个SQL查询,在这种情况下查询一个表.该表中包含大约700万条记录,并且具有高度索引.
当我运行ORM吐出而没有sp_executesql的查询时,它运行得非常快,并且分析器显示它有85个读取.当我使用sp_executesql运行相同的查询时,它有大约201,828次读取.
我是否需要在SQL Server上执行某些操作以提高不使用sp_exectuesql运行查询的性能?好像它没有使用我的索引.
解决此问题的最佳方法是什么?如果可能的话,我宁愿不改变ORM生成SQL的方式,而是在SQL Server /数据库级别修复问题,因为它似乎就是问题所在.我猜我需要在数据库上做更多优化来解决这个问题我只是不知道是什么.
exec sp_executesql N'SELECT top 20
this_.Id as Id0_0_,
this_.Application as Applicat2_0_0_,
this_.[Context] as column3_0_0_,
this_.Logger as Logger0_0_,
this_.Message as Message0_0_,
this_.Exception as Exception0_0_,
this_.Thread as Thread0_0_,
this_.[Level] as column8_0_0_,
this_.LogDate as LogDate0_0_,
this_.SessionId as SessionId0_0_
FROM LogMessages this_
WHERE this_.[Context] = @p0',
N'@p0 nvarchar(2)',
@p0 = N'55'
Run Code Online (Sandbox Code Playgroud)
Context是varchar(255).这个领域是非常自由的形式.它并不总是一个整数,长度可能非常大.在这种情况下,我查询的值为'55',但它可以很容易地查询'Foooooobaaaarrr'
我最近发现UIViews应该只有UIViewController当它们填满整个窗口时(或由另一个UIViewController如a UINavigationController或管理UISplitViewController).此引用来自UIViewController的文档:
您不应该使用视图控制器来管理仅填充其窗口一部分的视图 - 即,只是应用程序内容矩形定义的区域的一部分.如果您希望有一个由几个较小视图组成的界面,请将它们全部嵌入到单个根视图中,并使用视图控制器管理该视图.
我通常将我的视图逻辑放在UIView中,即使它是由UIViewController管理的,但我经常发现自己需要访问UIViewController的属性,例如它的navigationController属性.但是,UIViews不应该知道他们的UIViewController.
我的结论是视图逻辑应该存在于UIView的UIViewController中,否则存在于UIView本身.
或者,更好的做法是为视图创建一个控制器类,而该视图不是 UIViewController的子类?UIPopoverController(一个NSObject子类)似乎遵循这种模式,尽管在大多数情况下(UIButton等)视图似乎没有专用的控制器类.
model-view-controller cocoa-touch design-patterns uiviewcontroller ios
我们的Web服务仅支持JSON.如果我们可以或者用HTTP错误406响应我们用JSON回复:如果客户端询问application/xml,则不可接受......它仍然被认为是RESTful吗?
我正在尝试水平居中块元素.我怎么能做到这一点?
<div class="content2">
<div class="middle-content">
<ul>
<li>
<div class="container">
<div class="container-head">
<div class="empty"></div>
</div>
<div class="content">
<!--Place holder for member count-->
<?php displayMemberCount(); ?>
<!--End of Place holder for member count-->
<div class="people-online">
<p><strong>Paltalk</strong> makes it easy to connect with people that share your interests. <a href="http://www.paltalk.com/people/webapp/index.wmt">Browse all profiles</a></p>
<?php members(); ?>
</div>
<!-- end people-online -->
</div>
<!-- end content -->
</div>
<!-- end container -->
</li>
<li class="last">
<div class="container">
<div class="container-head">
<div class="empty"></div>
</div>
<div class="content">
<!--Place …Run Code Online (Sandbox Code Playgroud) 我有两个活动,例如活动1和活动2.活动1将调用活动2并发送一个arraylist,然后将其修改.我已经使用了一个意图.我现在想要做的是,当活动2调用finish()时,我希望将修改后的arraylist发送回活动1,以便它具有该arraylist的最新版本.
活动1:
Bundle b = new Bundle();
b.putParcelableArrayList("com.Woody.RingerSchedule", schedules);
Intent i = new Intent(this, addSchedule.class);
i.putExtras(b);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
目前为止的活动2:
Bundle b = getIntent().getExtras();
final ArrayList<Schedule> schedules = b.getParcelableArrayList("com.Woody.RingerSchedule");
//modify arraylist
//need code here to return arraylist to activity 1
finish();
Run Code Online (Sandbox Code Playgroud)
任何帮助赞赏.
我想在Ruby heredoc中迭代一个数组.
<<-BLOCK
Feature: User logs in
In order to post content
As an user
I want to log in
<< Here i want to iterate scenarios >>
BLOCK
Run Code Online (Sandbox Code Playgroud)
"scenario"是我想要循环的数组.对于我要打印的每个元素:
Scenario: #{scenario}
Given
When
Then
Run Code Online (Sandbox Code Playgroud)
例如,如果"scenario"包含:
scenarios[0] = "User successfully logs in"
scenarios[1] = "User failed to log in"
Run Code Online (Sandbox Code Playgroud)
我希望heredoc字符串是:
<<-BLOCK
Feature: #{feature}
In order to #{in_order_to}
As #{as}
I want #{i_want}
Scenario: User successfully logs in
Given
When
And
Scenarios: User failed to log in
Given
When
And
BLOCK …Run Code Online (Sandbox Code Playgroud) 我正在为GAE部署一个应用程序.我在Eclipse中有一个项目设置,有三个独立的GWT模块,每个模块都有自己的HTML页面,入口点等.它们共享很多代码.
当我将应用程序部署到appengine时,两个模块工作正常.我可以完美地访问他们的HTML页面.第三个给我的错误是"gwt module'xyz'可能需要(重新)编译." 我曾尝试重新编译和重新部署两次,但没有用,也没有任何关于前进的想法.
关于这个问题的其他线程指向gwt.codeserver参数,实际上,如果我添加该参数,坏模块运行...但它似乎在开发模式下运行! 如果这是真的,我有点意外,因为我不想向任何人提供开发模式代码.
任何建议都会受到欢迎 - 我的工作基本上完全停止在这个问题上.
在维基百科的命令查询分离定义中,有人说
更正式地说,方法只有在它们是引用透明的情况下才能返回值,因此没有副作用.
如果我发出命令,我该如何确定或报告该命令是否成功,因为通过此定义,该函数无法返回数据?
例如:
string result = _storeService.PurchaseItem(buyer, item);
Run Code Online (Sandbox Code Playgroud)
此调用中包含命令和查询,但查询部分是命令的结果.我想我可以使用命令模式重构这个,如下所示:
PurchaseOrder order = CreateNewOrder(buyer, item);
_storeService.PerformPurchase(order);
string result = order.Result;
Run Code Online (Sandbox Code Playgroud)
但这似乎增加了代码的大小和复杂性,这对于重构来说并不是一个非常积极的方向.
当您需要操作结果时,有人能给我一个更好的方法来实现命令查询分离吗?
我在这里错过了什么吗?
谢谢!
注意:Martin Fowler对此有关cqs CommandQuerySeparation的限制:
Meyer绝对喜欢使用命令查询分离,但也有例外.弹出堆栈是修改状态的修饰符的一个很好的例子.梅耶正确地说你可以避免使用这种方法,但这是一个有用的习惯用法.所以我喜欢在我可以的时候遵循这个原则,但我准备打破它以获得我的流行音乐.
从他的观点来看,重构命令/查询分离几乎总是值得的,除了一些小的简单例外.
随着StompChicken的更正(我错误地计算了一个点产品,呃!)答案似乎是肯定的.我已经使用具有相同正确结果的预先计算的内核测试了相同的问题.如果你使用libsvm StompChickens清楚,有组织的计算是一个非常好的检查.
原始问题: 我即将开始在libSVM中使用预先计算的内核.我注意到 弗拉德对一个问题的回答,我认为确认libsvm给出了正确的答案是明智的.我从非预先计算的内核开始,只是一个简单的线性内核,在3维空间中有2个类和3个数据点.我用过这些数据
1 1:3 2:1 3:0
2 1:3 2:3 3:1
1 1:7 3:9
Run Code Online (Sandbox Code Playgroud)
调用svm-train -s 0 - t 0包含的模型文件
svm_type c_svc
kernel_type linear
nr_class 2
total_sv 3
rho -1.53951
label 1 2
nr_sv 2 1
SV
0.4126650675419768 1:3 2:1 3:0
0.03174528241667363 1:7 3:9
-0.4444103499586504 1:3 2:3 3:1
Run Code Online (Sandbox Code Playgroud)
但是,当我手动计算解决方案时,这不是我得到的.有谁知道libsvm是否有错误,或者是否有人可以比较注释,看看他们是否得到了与libsvm相同的功能?
系数a1,a2,a3通过LIBSVM退换应该是使这些值
a1 + a2 + a3 - 5*a1*a1 + 12*a1*a2 - 21*a1*a3 - 19*a2*a2/2 + 21*a2*a3 - 65*a3*a3 …Run Code Online (Sandbox Code Playgroud) 我有一个结构:
typedef struct {
double x,y,z;
} XYZ;
Run Code Online (Sandbox Code Playgroud)
我想定义一个这样的函数:
double CalcDisparity(XYZ objposition,
XYZ eyeposition,
double InterOccularDistance = 65.0)
Run Code Online (Sandbox Code Playgroud)
但我似乎找不到为眼睛分配默认值的方法.我怎么能用C++做到这一点?