日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Moon.Orm性能报告

發布時間:2023/12/1 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Moon.Orm性能报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下為有網友公司的評估測試及使用規范

大家可以下載word看看

http://pan.baidu.com/s/1hquvRuc

一、和ADO.NET進行的壓力測試

說明:2000并發用戶,此圖為一網友公司對moon.orm的測評

二、和ADO.NET的性能對比測試

說明:同時請求10000條數據,此圖為一網友公司對moon.orm的測評

三、和實體框架的對比測試

using System; using System.Collections.Generic; using System.Data.Entity; using System.Diagnostics; using System.Linq; using System.Text; using Moon.Orm; using EfTest.Models; using eftest; namespace EfTest {class Program{private static readonly Stopwatch Watch = new Stopwatch();static void Main(string[] args){Watch.Start();Database.SetInitializer(new SampleData());using (var db = new TestContext()){db.Database.Initialize(false);}Watch.Stop();//Console.WriteLine("數據庫初始化完成,耗時{0}", Watch.Elapsed);Method01();StartTest();}private static void Method01(){Console.WriteLine("查詢預熱,防止第一次查詢影響結果。");var db = new TestContext();Console.WriteLine("產品目錄個數:{0}", db.Categories.Count());Console.WriteLine("客戶個數:{0}", db.Customers.Count());Console.WriteLine("產品個數:{0}", db.Products.Count());Console.WriteLine("訂單個數:{0}", db.Orders.Count());Console.WriteLine("訂單明細個數:{0}", db.OrderDetails.Count());db.Dispose();Console.WriteLine("查詢預熱結束-------------------------\r\n");}private static void StartTest(){Console.WriteLine("單表查詢");EFTest1();MoonTest1();MoonDyanimic();Console.WriteLine();Console.WriteLine("連接查詢");EFTestJoin();MoonTestJoin();Console.WriteLine();Console.WriteLine("嵌套查詢");EFTestQianTao();MoonTestQianTao();Console.Read();}private static void EFTest1(){Watch.Restart();var db = new TestContext();db.Configuration.AutoDetectChangesEnabled=false;var list = db.OrderDetails.Where(m=>m.DetailId>1&&m.UnitPrice>0).ToList();db.Dispose();Watch.Stop();Console.WriteLine(" EFTest1:"+Watch.Elapsed);}private static void MoonTest1(){Watch.Restart();using (Db db=Db.CreateDefaultDb()) {var mql2=OrderDetailsSet.SelectAll().Where(OrderDetailsSet.UnitPrice.BiggerThan(0).And(OrderDetailsSet.DetailId.BiggerThan(1)));var list2=db.GetEntities<OrderDetails>(mql2);}Watch.Stop();Console.WriteLine("MoonTest1:"+Watch.Elapsed);}private static void MoonDyanimic(){using (Db db=Db.CreateDefaultDb()) {var list2=db.GetDynamicList("select * from OrderDetails where DetailId>10 ","hi");}Watch.Restart();using (Db db=Db.CreateDefaultDb()) {var mql=OrderDetailsSet.SelectAll();var list2=db.GetDynamicList("select * from OrderDetails where DetailId>1 and UnitPrice>0 ","hi");}Watch.Stop();Console.WriteLine("MoonDyanimic:"+Watch.Elapsed);}private static void EFTestJoin(){Watch.Restart();var db = new TestContext();db.Configuration.AutoDetectChangesEnabled=false;var list = db.OrderDetails.Where(m=>m.DetailId>3&&m.UnitPrice>0).Select(m => new{m.DetailId,m.UnitPrice,m.Product.ProductName}).ToList();foreach (var A in list) {Console.WriteLine(A.DetailId+" "+A.UnitPrice+" "+A.ProductName);break;}db.Dispose();Watch.Stop();Console.WriteLine(" EFTestJoin:"+Watch.Elapsed);}private static void MoonTestJoin(){Watch.Restart();using (Db db=Db.CreateDefaultDb()) {var mql2=OrderDetailsSet.Select(OrderDetailsSet.DetailId,OrderDetailsSet.UnitPrice);var mql=ProductsSet.Select(ProductsSet.ProductName);var join=mql.LeftJoin(mql2).ON(OrderDetailsSet.ProductId.Equal(ProductsSet.ProductId)).Where(OrderDetailsSet.UnitPrice.BiggerThan(0).And(OrderDetailsSet.DetailId.BiggerThan(3)));var list2=db.GetDictionaryList(join);foreach (var A in list2) {Console.WriteLine(A["DetailId"]+" "+A["UnitPrice"]+" "+A["ProductName"]);break;}}Watch.Stop();Console.WriteLine("MoonTestJoin:"+Watch.Elapsed);}private static void MoonTestQianTao(){Watch.Restart();using (Db db=Db.CreateDefaultDb()) {var mql=ProductsSet.SelectAll().Where(ProductsSet.CategoryId.In(CategoriesSet.Select(CategoriesSet.CategoryId).Where(CategoriesSet.CategoryName.Equal("分類00"))));var sql=mql.ToDebugSQL();var list=db.GetEntities<Products>(mql);}Watch.Stop();Console.WriteLine("MoonTestQianTao:"+Watch.Elapsed);}private static void EFTestQianTao(){Watch.Restart();var db = new TestContext();db.Configuration.AutoDetectChangesEnabled=false;var list = db.Products.Where(m=>m.Category.CategoryName.Equals("分類00")).ToList();db.Dispose();Watch.Stop();Console.WriteLine(" EFTestQianTao:"+Watch.Elapsed);}} }

執行文件下載地址
http://pan.baidu.com/s/1i3khc0H
先在sqlserver數據庫中建一個名為:TestContext
的數據庫,
您只需修改配置文件中的連接字符串
然后運行即可

?以下為網友運行截圖

?

?

轉載于:https://www.cnblogs.com/humble/p/3472764.html

總結

以上是生活随笔為你收集整理的Moon.Orm性能报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。