【问题标题】:NHiberate count queryNIBerate计数查询
【发布时间】:2012-05-03 18:59:28
【问题描述】:

在NHiberante,我有这样的说法

 (from p in Session.Query<MyObject>() select p).Count(); 

这等于这个吗?

select count(*) from MyObject

假设对象名与表名相同。

如果表数据很大,我们有办法提高性能吗?

谢谢

【问题讨论】:

  • 如果表真的很大,提高性能的一种方法是缓存结果或在某处存储运行总计。就目前的行数而言,您无能为力。

标签: c# .net sql nhibernate


【解决方案1】:

你可以更好地使用:

(from p in Session.Query<MyObject>() select p).LongCount();

SQLite 查询是:

select cast(count(*) as BIGINT) as col_0_0_ from MyObject myobject0_

您可以使用以下方法创建特定于 DBMS 的优化查询:

Session.CreateSQLQuery("sql query");

关于计数优化的问题:

optimize mysql count query

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 2021-03-23
    • 2015-12-05
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多