Jen*_*nsJ 6 nhibernate performance
上下文:具有版本和标签 的文档的域模型.
使用nHibernate进行保湿时,您会期待什么样的数字?
我的域模型不是很复杂,当我查询所有文档获取版本以及标签时,查询从数据库中返回多于8000行 - 这反过来又被水合成约2300个文档.
数据库操作大约需要100ms,水化过程需要4000ms,我觉得很奇怪.
dotTrace表示大量的呼叫(1.6M)
"System.Data.SQLite.SQLite3.ColumnName(SQLiteStatement,Int32)"
等等.
查询是使用Criteria执行的,如下所示:
var docsQuery = _session.CreateCriteria<Document>();
docsQuery.SetFetchMode("Editions", FetchMode.Join);
docsQuery.SetFetchMode("Tags", FetchMode.Join);
docsQuery.SetResultTransformer(new DistinctRootEntityResultTransformer());
return docsQuery .List<Document>();
Run Code Online (Sandbox Code Playgroud)
注意:肯定限制结果集将提高性能.我主要担心的是为什么一般的水合作用表现不好.摆弄session.FlushMode和session.CacheMode在我的情况下没有多大帮助.
更新:这是分析器的截图.

更新2:检查查询时间,总共大约100毫秒.
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |