Veritabanı tablosundan oldukça büyük miktarda veri getiren iki sorguyu karşılaştırdım. Sorgu için ben Linq To Sql ve diğer için ben ADO.NET üzerinden geçidi SQL kullanıyorum.Linq To Sql, grid-out SQL'e göre daha yavaş görüntüleniyor?
Linq To Sql'in sahne arkasında çok fazla iş yapması gerektiğini biliyorum, ama aslında ne yapıyor? İki sorgu, aynı miktarda veri getiriyor ancak Linq To Sql sorgusu 5 saniyeden daha yavaş ve 150MB daha fazla RAM kullanıyor! gönderilen
public void MakeList()
{
int start = Environment.TickCount;
SqlCommand sqlCommand = new SqlCommand("SELECT * FROM tDokument", _connection);
SqlDataAdapter da = new SqlDataAdapter(sqlCommand);
DataSet ds = new DataSet();
da.Fill(ds);
int end = Environment.TickCount;
GridView1.DataSource = ds;
GridView1.DataBind();
Label1.Text = (end - start).ToString();
}
İşlem hata ayıklayıcıya eklenmediğinde bunu test ettiniz mi? –
NHibernate ile benzer sorunlar buldum. Ben "perdenin arkasında" büyük seceret ne olduğundan emin değilim ama ORM araçları yavaş .... – Dani
@Dani sanırım - performans denemeleri veri bağlama dan takip etmiyor "ORM araçları yavaş". Bu bir ** çok ** genel (ve IMHO, yanıltıcı) ifadesidir. – TrueWill