我有一个简单的测试,运行查询5000次.查询的linq版本占用HQL的3倍,缓存的Linq版本比HQL的缓存版本慢得多
HQL:
session.CreateQuery(String.Format("from Episode where SeriesId='{0}' and SeasonNumber='{1}' and EpisodeNumber='{2}'", seriesId, seasonNumber, episodeNumber))
.SetMaxResults(1)
.SetCacheable(true)
.UniqueResult<Episode>();
Run Code Online (Sandbox Code Playgroud)
LINQ:
session.Query<Episode>()
.Where(c => c.SeriesId == seriesId && c.SeasonNumber == seasonNumber && c.EpisodeNumber == episodeNumber)
.Cacheable()
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
结果如下
HQL: Cached: less than a second No-Cache: 5 seconds LINQ: Cached: 8 seconds No-Cache: 15 seconds
我只是想确保我遇到了预期的开销,而不是我做错了什么.
如果那个头顶在那里并且我可以做的不多,你能否建议一个中间地带,这将需要更少的字符串,但提供更好的性能?
注意:我在Fluent Nhibernate中的缓存设置
.Cache(c => c.UseQueryCache().UseSecondLevelCache().UseMinimalPuts().ProviderClass<HashtableCacheProvider>())
我正在为即将到来的项目评估两个对象数据库db4o(http://www.db4o.com)和Eloquera数据库(http://eloquera.com).我必须选择一个.我的基本要求是RAD的可扩展性,多用户支持和简单的类型演变.
请分享您的真实世界体验.
如果你有两者,你能比较这两个吗?你喜欢哪个?
据我所知,在windows azure中你可以将虚拟机添加到虚拟网络中,但我没有看到将网站添加到网络的选项.
从azure网站保护访问VM(MongoDb)的推荐方法是什么?
我更希望数据库背后有某种防火墙而不是流量通过公共互联网.
编辑:vm将托管MongoDb,因此使用Sql Azure或其他MSSql解决方案不是一种选择.
我正在尝试使用Dagger注入一个Android Annotated Activity.
java.lang.IllegalArgumentException: No inject registered for members/com.app.server.AddServerActivity_. You must explicitly add it to the 'injects' option in one of your modules.
如果我尝试添加com.app.server.AddServerActivity_到模块,我会得到一个不同的错误
Error: java.lang.ClassCastException: com.sun.tools.javac.code.Attribute$Error cannot be cast to com.sun.tools.javac.code.Attribute$Class
java.lang.RuntimeException: java.lang.ClassCastException: com.sun.tools.javac.code.Attribute$Error cannot be cast to com.sun.tools.javac.code.Attribute$Class
at com.sun.tools.javac.main.Main.compile(Main.java:469)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132)
at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:167)
at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:364)
at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:276)
at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:190)
at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:162)
at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1018)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:742)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:790)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:705)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:526)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:314)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:179)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:129)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:220)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:112)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:132)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:41) …Run Code Online (Sandbox Code Playgroud) 在MongoDB中,如果我有一个文档结构如下:
{ "_id" : { "$binary" : "jchPoPd7PUS1w+sR7is23w==", "$type" : "03" },
"companies" :
[
{ "_id" : { "$binary" : "jchPoPd7PUS1w+sR7is23w==", "$type" : "03" },
"name" : "Google" },
{ "_id" : { "$binary" : "jchPoPd7PUS1w+sR7is23w==", "$type" : "03" },
"name" : "Greenfin" },
{ "_id" : { "$binary" : "jchPoPd7PUS1w+sR7is23w==", "$type" : "03" },
"name" : "Zynet" }
],
"firstname" : "Peter",
"surname" : "Smith" }
Run Code Online (Sandbox Code Playgroud)
(即,在人员文档中嵌入Person了Companies数组的文档),那么如何使用单个查询+更新更新特定公司的所有事件(通过公司_id进行定位)?
我尝试过以下方法:
MongoCollection personCollection = mdb.GetCollection("person");
BsonBinaryData bin …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用MVC创建我的第一个facebook应用程序,但无法决定使用的API库.
我找到了这篇文章,但它已经超过一年了,我确信自那以后很多都有变化.
你怎么说所有这些项目叠加?
Facebook Developer Toolkit 2.1
有没有办法在VS 2010中禁用Visual Basic 10语言功能.我们的开发团队已经转移到Visual Studio 2010,但我们仍然必须保持与Visual Studio 2008的向后兼容性.有没有办法禁用新的语言功能以避免任何问题.
我看到了Eloquera db并对它印象深刻.目前我正在考虑在Eloquera而不是Sql Server上开发我的下一个项目.所以我有几个问题.
database relational-database object-oriented-database eloquera
当编写一个接受字符串并基于它填充poco的方法时,最好是使用静态Parse(string s)方法,Int32.Parse()或者重载构造函数,以便它需要一个字符串?
我有一个Web应用程序的解决方案,从webapp我引用另一个引用的项目和外部库.
WebApp -> SupportingProject -> ExternalDll
Run Code Online (Sandbox Code Playgroud)
当我在visual studio中的debug/release中构建解决方案时,一切都很好,但是当它在TeamCity中构建时,其中一个引用不会被复制.除了单个文件之外,复制支持项目引用的所有其他文件.
我能够通过直接添加对该库的引用来解决这个问题,但是想弄清楚它的根本原因.
所有引用都标记为本地副本.
我在teamcity中使用Visual Studio(sln)构建运行器.