小编Mar*_*tta的帖子

NHibernate Profiler - 数据库持续时间和总持续时间之间存在巨大差异?

我有一个广泛使用NHibernate的应用程序.我已经开始使用NHibernate Profiler来识别可能的性能问题.我的问题与Query Durations统计信息有关.

统计数据在数据库持续时间和总持续时间中细分.据我所读,数字应该非常接近.然而,我看到相对较大的差异,我正试图弄清楚这些的来源.这是一些数据

替代文字

我有什么想法可以开始解决这些问题吗?

nhibernate fluent-nhibernate nhprof

11
推荐指数
2
解决办法
1765
查看次数

NHibernate - AddEntity和AddJoin问题

我正在使用NHibernate和SQL查询来填充一些实体对象.

我有一个引用User对象的Item对象(表示Item的所有者)

class Item
{
public User User;
}
Run Code Online (Sandbox Code Playgroud)

我的SQL查询是(它实际上更复杂,这就是为什么我不能使用HQL,但我从这开始,以确保AddJoin/AddEntity工作):

SELECT {i.*}, {u.*}
FROM Item i INNER JOIN User u ON (i.UserId = u.Id)
WHere i.Id = 5
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

var x = session.CreateSQLQuery(sql)
    .AddEntity("i", typeof(Item))
    .AddJoin("u", "i.User")
    .List();
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到一个二维数组.数组中的每个项都包含一个Item对象(初始化User属性)和User对象本身.

我错过了什么?我希望得到一个Item对象列表,初始化User属性(这就是我解释文档的方式).

nhibernate

6
推荐指数
2
解决办法
8531
查看次数

为什么此查询会导致Oracle中的MERGE JOIN CARTESIAN?

这是我的查询:

select count(*)
from email_prod_junc j
inner join trckd_prod t5 on j.trckd_prod_sk = t5.trckd_prod_sk
inner join prod_brnd b on t5.prod_brnd_sk = b.prod_brnd_sk
inner join email e on j.email_sk = e.email_sk
inner join dm_geography_sales_pos_uniq u on (u.emp_sk = e.emp_sk and u.prod_brnd_sk = b.prod_brnd_sk)
Run Code Online (Sandbox Code Playgroud)

解释计划说:

笛卡尔在DM_GEOGRAPHY_SALES_POS_UNIQ和EMAIL_PROD_JUNC之间加入.

我不明白为什么,因为每个表都有一个连接条件.

oracle

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

如何通过repo子目录过滤SVN日志结果?

我正在尝试使用SVN日志命令通过一组修订来查找对我的仓库的特定子目录/文件夹中的文件的更改.

这是我到目前为止:

我的repo(主干)的URL是:

http://myserver/svn/repos/myproj/trunk
Run Code Online (Sandbox Code Playgroud)

我只想在repo的DB文件夹(或DB文件夹的任何子文件夹)中找到修改/添加的文件:

http://myserver/svn/repos/myproj/trunk/DB
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这个:

svn log -r 300:351 -q -v --xml http://myserver/svn/repos/myproj/trunk/DB
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我在repo的其他部分,即/ trunk/app文件夹中获取文件.

有没有办法限制结果或我必须做一些后处理?

svn

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

Backbone.js - 使用beforeRoute过滤器扩展路由器

我正在尝试在Backbone.js中为我的路由实现前置过滤器.我在这里找到了以下代码-

var MyRouter = Backbone.Router.extend({
    route: function(route, name, callback) {
        return Backbone.Router.prototype.route.call(this, route, name, function() {
            this.trigger.apply(this, ['beforeroute:' + name].concat(_.toArray(arguments)));
            callback.apply(this, arguments);
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,我不确定接下来我需要做什么.我需要使用我想要的"路由前"逻辑来定义一个函数,但我不明白它将如何被调用.

javascript backbone.js

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