Asp.NET – DataSet mi? DataReader mı?

Asp.NET – DataSet mi? DataReader mı? Merhaba arkadaşlar, Güzel bir pazar gününde daha birlikteyiz ancak hatırlatmak istemezdik ama uzun bir tatilin ardından Pazartesi de yaklaşıyor onu söyleyelim 🙂 Neyse işin esprisi bir yana biz yazılımcılar ve öğrenciler için eğitim, öğretim kutsaldır o sebepten dolayı halimize şükredelim. Makalemizi de kaynatmadan dersimize dönelim. Bu derste verilerimizi sayfamıza yazdırmak için tercih ettiğimiz iki yapıdan bahsedeceğiz.     Evet Dataset mi kullanırsınız, DataReader mı? Her ikisiyle de işlerimizi görürken işin performans yönünü gözardı edemeyiz. Ben de genel olarak DataSet kullanırım ama, işte büyük Web uygulamalarımızda esneklik, hız, hepsi çalışmalarımızı etkiliyor.   DataSet ve DataReader kullanması epey bir yaygındır. DataReader sorgumuz çalıştığında istemiş olduğumuz veri bulunduğunda işlevini yerine getirir. Yani DataSet imizdeki benzeri döngünün sonlanmasını beklemez. Buda çalışmalarımızın performansını haliyle artırmaktadır. Mesela hemen bir adet Örnek data çağıralım ve farkı görelim.   1 SqlConnection conn = new SqlConnection(connectionString); 2 SqlDataAdapter da = new SqlDataAdapter üç (“Select * From EmreSupcin;”,conn); 4 DataSet ds = new DataSet(); 5 da.Fill(ds); altı foreach (DataRow dr in ds.Tables[0].Rows) 7 { 8 Console.WriteLine(dr[0].ToString()); 9 }   Bakın DataSet’imiz doldurulana kadar herhangi bir veri yoklaması yapamadık. Yani işimize yaramayacak olan kayıtlarda gelmekte. Ya biz bu kayıtları kullanması istemiyorsak? Neden hepsini dolduruyoruz ki o zaman. Şimdi tıpkı işlemi yine yapalım bakalım, bu kez netice nasıl olacak?   1 SqlConnection conn = new SqlConnection(connectionString); 2 SqlCommand comm = new SqlCommand(“Select * From EmreSupcin”, conn); üç comm.Connection.Open(); 4 SqlDataReader dr = 5 comm.ExecuteReader(CommandBehavior.CloseConnection); altı while(dr.Read()) 7 { 8 Console.WriteLine(dr.GetString(0)); 9 } on dr.Close(); 11 conn.Close();   Bakın, veri tabanına bağlandık sorgumuz çalıştı. İstemiş olduğumuz değere hemen ulaşıldı ve getirilip sonlandırıldı. Ayrıca DataReader bir sonucu göze çarpan bir süre kullanıcı tarafında tutar. Bu tüketimi DataSet ile kıyasladığımızda ise bellekte daha az yer kapladığını görebiliriz. DataSet imizi nasıl DataReader benzeri esnek kullanabiliriz.   Bunun için WriteXML metodu kullanabiliriz ya da SOAP metodu ile işlem yaptırabiliriz. Yinede Web uygulamalarımızda DataReader’ın daha hızlı çalıştığını göreceğiz. Sonuçta her ikisiyle de tıpkı işi yapabildiğimize göre herhangi bir sorunumuz yok. Ne zaman plan büyüdü, veriler arttı, işte o süre hangisini kullanayım tercihi ortaya çıkacaktır.


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar