kullandıgın db nedir hocam? eger oracle ise index calısması yaparak sadece aramak istedigin kolonları belirtirsen kasma problemin çozülür. benim db'nin boyutu yaklasık olrak 35 GB. en cok kullanılan tablolar için index yapmışım sadece istedigim kolonda sorgu cektiriyorum. birde yukardaki arkadasın dedigiği gibi sql cumlende nemli. http://www.youtube.com/watch?v=n-O0mSUNVlU

Soru cok yanlis cikmis benden :) Store Procedure kullaniminda sıkınti var aslinda. SP kullanacak oldugumda bir Return table olusturmak zorunda kaliyorum yoksa Entity SP nin sonucunu getiremiyor. Bu noktada sayfalama sistemi olan ekranlarda butun datayi cliente cekip clientte datayi sayfaliyor. benim asil sorunum buydu. Ama kizdigim nokta Entity cok sacma bir sekilde datayi c# mantiginda getiriyor. klasik SQL den kullanmak ile Entity den kullanmak Performansi fiziki anlamda etkiliyormu bunu bilmiyorum. Eger bir extra arti katmiyorsa kullanmak cok sacma. Bu Entity kavramina alisamiyorum nedense :S Hocam kod tarafında entity framework çalışıyorsun tabiki entity kullanıcaksın. Burda senin entitylerinin içinin nasıl dolduğu arkaya nasıl sorgu indirdiğin nemli prosedürle byle bir problem yaşıyorsan ve o sayfalama prosedürde yer almıyorsa tüm verinin sana geri dnmesi gayet normal. Veriyi prosedürle çekeceksen sayfalamanıda prosedürde ayarlayıp dışarıdan parametreyle sayfa numaranı vs bildirip ona gre veri çekmen gerek. Google tarafından 07/Ara/12 11:54 tarihinde düzenlenmiştir Abra Kadabra

son yazdığını tam anlamamakla birlikte sp nin neden tüm datayı çekmesi gerekiyor? sp ne belli parametreler verip ona gre çektirebilmelisin? entity de sql sorgusunu da yazabilirsin. karşılaştırmalara gre ado. net daha hızlı entity den ama kullanım kolaylığı ve esneklik açısından entity bir çok ameleliği kaldırıyor. son olarak asenumerable olarak cast etme, asQuerable olarak cast et çünkü asenumarable where i uygulamadan nce tüm tabloyu belleğe yüklüyor bu da gerekli değil. bu küçük ama nemli şeye dikkat et :) kolay gelsin Hocam benm asil problem orda anladigim kadari ile zaten. Suan SP'ye cevirdim sorun duzeldi. Ama dedigim gibi bundan sonra Entity kullanmayi dusunmuyorum dogrusu :) Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.

Bir PM aldim cevabimida o pm'de paylasmak istedim: selam recep hocam, konunu grdüm de bende yeni yeni giriş yapıyorum entity framework'e bi yandanda da mvc yi ğrenmeye çalışıyorum. bi daha kullanmayı düşünmüyorum demişsin, ğrenmeye devam edeyim mi yoksa zaman kaybı mı merak ettim? Ogrenmenin faydasi var. Ama benim durumum icin soylim; Normalde cok fazla database uygulamasi yapmiyorum. Benim sektor kart uygulamalari Bu yuzden bir Join yapacagim zaman bile google da aranicaksam benim icin zaman kaybi. HolyOne hocam mesela yalamis yutmus direk Skip Take filan demis ben daha farkli bir seyler yapmistim. Suan SP'ye cektim o bolumu SP icinde bildigim gibi yazdim; ama Benim isim Veri tabani ile ilgili bu isi ogrenmem lazim diyorsan yeni teknoloji pop kultur calis uzerinde. Benim isime ayda yilda bir basit bir db den 2-3 data cekmek. log tutmak vs. bu yuzden bana gerekmiyor. bu pm'i de isim vermeden paylasicam hani formda yazdigimi yanlis anlamasin millet. Ama Entity oyle cok extrem bir sey katmiyor. sadece daha hizli yazmani sagliyor obur turlu daha cok ugrastiriyor beni. Ben herseyi birer SP icinde yapip ona gore calisiyorum Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.

Kod tarafından veriyi nasıl çekiyorsun kod parçacığı verirsen daha kolay yardımcı olabiliriz. Abra Kadabra

Merhabalar; Bir projede Entity yuzunden agizim yandi. Sizinlede paylasip goruslerinizi almak istedim. Baslangicta hersey oldukca guzel calisiyor ve datalarim sorunsuz isleniyordu. Bir iki hafta icerisinde data sayim 2 milyona db boyutumda 1,2 gb ye ulasti. Sistem de agirlasmanin otesi var. SQL profiler zimbirtisi ile bir baktim ki Sorgu db deki butun kayitlari cekiyor cliente getiriyor ve linq ile onu client tarafinda filtreliyor :s Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.

performans olarak entity tabiki biraz yavaşlatır ama kod yazım sürecinde, kodun anlaşılabilirliği ve oop yazmana sağladığı katkı gz nüne alındığında hiç nemi yok bence. senin problemin entityi tam olarak bilmediğinden kaynaklanıyor bence, gereksiz hatalar yapmışsın hocam. nesne mantığını tam kavrarsan zaten, kendin vt nin bir modelinide c# projende olusturur o şekilde cekersin dataları da buda sana zaman kaybettirir, entitynin sağladığı faydayı o zaman anlarsın.

Hocam datanın boyutu entityi ilgilendirmez, yapısı ilgilendirir. Sen ne istersen entity onu verir. var data=from p in db. tablo select p; dersen hepsini çeker var data= . Skip(20). Take(10); dersen sadece ihtiyacın olan yerdeki 10 kaydı alırsın. Projenin ağırlaşması ile alakası olmadığına eminim. onun dışında where in yanına yazdıklarına dikkat et. string aramalar full textli değilse kanırtır tabiki makinayı 1,2 GB çerez hocam, 80 gb lik tek db var sistemimde hiç problem yaşamıyorum. Birçok developer, firma grdüm ki şirket içinde kullandıkları database 3 gb'a gelince 100.000 dolarlık server sistemleri toplayıp sistem odası kurmaya başlıyorlar. Tabi gotumle gülüorum. cok daha dandik makinalarda 8 gb database'e burda aynı anda 200 civarı kişi sorgu çekiyor, arama yapıyor 50 ms'i geçmiyor hiçbir sayfanın sorgusu nerdeyse. HolyOne tarafından 07/Ara/12 11:32 tarihinde düzenlenmiştir Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı ktektir!

EF deki 3 çeşit olan loading tekniklerini uyguluyor musun? Lazy loading, Eager loading veya explicit? Belki hızlandırabilirdi her kullandığın datanın otomatik olarak relatedlarını otomatik load etmesini engelleyip, sadece kullanacaklarını kendin load etsen?

son yazdığını tam anlamamakla birlikte sp nin neden tüm datayı çekmesi gerekiyor? sp ne belli parametreler verip ona gre çektirebilmelisin? entity de sql sorgusunu da yazabilirsin. karşılaştırmalara gre ado. net daha hızlı entity den ama kullanım kolaylığı ve esneklik açısından entity bir çok ameleliği kaldırıyor. son olarak asenumerable olarak cast etme, asQuerable olarak cast et çünkü asenumarable where i uygulamadan nce tüm tabloyu belleğe yüklüyor bu da gerekli değil. bu küçük ama nemli şeye dikkat et :) kolay gelsin Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Soru cok yanlis cikmis benden :) Store Procedure kullaniminda sıkınti var aslinda. SP kullanacak oldugumda bir Return table olusturmak zorunda kaliyorum yoksa Entity SP nin sonucunu getiremiyor. Bu noktada sayfalama sistemi olan ekranlarda butun datayi cliente cekip clientte datayi sayfaliyor. benim asil sorunum buydu. Ama kizdigim nokta Entity cok sacma bir sekilde datayi c# mantiginda getiriyor. klasik SQL den kullanmak ile Entity den kullanmak Performansi fiziki anlamda etkiliyormu bunu bilmiyorum. Eger bir extra arti katmiyorsa kullanmak cok sacma. Bu Entity kavramina alisamiyorum nedense :S Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.

bunun gibi bir çok veri içeren bir sistem üzerinde çalışıyorum yazılım işi bana ait değil fakat şle sleyim aylık 450 milyon civarında kayıt alıyoruz bunların çekilmesi vs. gerçekten yavaş bunları düzenlemek için bir sürü şeyle uğraştık. Net platform'unda çalışmıyoruz Java ile yapıyoruz fakat veritabanı MsSQL, normalizasyonu çok iyi yaptığında sorgu süresi gerçekten düşüyor bizim yakaladığımız hız şuydu 27.000 tane veriyi max. 1.7sn'de çekiyoruz. sanıyorum ki konuya çok hakim olmamakla beraber senin çzümün veritabanında bunun için İndex hazırla o şekilde çalış birde veritabanını tekrardan gzden geçir 3 hafta sırf bu veritabanı mevzusu için kafa patlattık günlerce belki yanlış slemiş olabilirim fakat biz sorunu bu şekilde çzdük. Entity ile çalıştımda okadar veri yoktu malesef :) Hatasız Kod Olmaz... :)

sorguların hatalıdır hocam. Deferred execution ve lazy loading var EF'de. Şurada ingilizce ve türkçesi var okuyabilirsin http://www.ayberkcal.com/?p=246 herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

o kadar kayıt olan bir proje geliştirmedim hiç tecrübe olmuştur, birde sql server'ın kapasitesini de merak ediyorum, sanırım tecrüben var o yüzden sana soruyum klasik yntemle verileri çekerken kaç bin kayda kadar sorun çıkarmaz? en son yaptığım programda mesela 50-60 bin kayıt vardı, programı aynı anda 20 kişi kullanıyordu ve herhangi bir sorunda çıkartmıyor? kaç bin kişi daha eklerlerse sorunlar çıkmaya başlar? IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT