Yazılım Yükünü Veritabanına Taşıma
13
●883
- 24-11-2015, 13:48:05Kimlik doğrulama veya yönetimden onay bekliyor.Kurguladığınız yapıyı test etmenizi öneririm. Örneğin 1 milyon veride nasıl bir sonuçla karşı karşıya kalacaksınız, gerek hız gerek sistem performansı bakımından test etmelisiniz. En iyisini, her iki yönetimi de karşılaştırarak bulabilirsiniz.
- 24-11-2015, 17:28:11Geliştirme açısından yavaşlatacaktır ancak performans konusunda daha iyi olacağına inanıyorum.zcode adlı üyeden alıntı: mesajı görüntüle
Kullanılmaya başlandıkça da sonuçları burada paylaşmayı düşünüyorum.
TURKCELL T60 cihazımdan Tapatalk kullanılarak gönderildi - 26-11-2015, 17:36:35Efendim @Internetabi;Internetabi adlı üyeden alıntı: mesajı görüntüle
@rob33n; yine açıklanması gerekenleri açıklamış,
benim önerim; SP de kullansan düz insert de yapsan aynı hızda kayıt ediyor.
bide SP yazarak vakit kaybetme, mysql de varmı bilmiyorum (kullanmıyorum hiç), sorgular veritabanında cacheleniyor, benzer ikinci sorgu birincisine oranla daha hızlı çalışıyor.
SP'nin avantajları yokmu? elbette var
If not exists(select id from uyeler WHERE email=@emailAdres)
Begin
insert işlemi
End
gibi sorguları yaparsın, tek sorguda aynı email varmı yokmu kontrol edip üyeyi kayıt ettirebilirsin.
aklıma şuan gelen örnek.
Bir diğer hususta .net proje geliştiriyorsan kesinlikle mssql kullan, microsoft amca mysql'i sevmiyor o yüzden daha yavaş çalışıyor mysql.
ben 1.5 milyonluk veritabanını MsSql de çalıştırdım (asp.net yazılım site) sorun yok, milisaniyeler içinde sonuçlar alınıyor.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 17:36:35 -->-> Daha önceki mesaj 17:33:53 --
conn.execute("CALL AD_EKLE("+ ad +")"); -- AD_EKLE PROSEDÜRÜ IF GELEN_AD IS NULL THEN @AD = "Ad yok"; ELSE @AD = GELEN_AD; END IF; INSERT INTO tablo(ad) VALUES(@AD);şeklinde bir kullanım ile veri kontrollerini dahi veritabanı içinde yapmak istiyorum.
hiç mantıklı değil, yazılım kısmında yap o tür kontrolleri. - 26-11-2015, 23:10:02Performans tarafi bir yana;
Business islemlerini sqle yuklenmemesi gerekiyor. Database'nin tek gorevinin data saklamak ve istedigimiz vakit bu datalari bize sunmasidir. Bu sebeple application tarafinda yapilacak businessnin olceklemesi ve maintenancei daha kolay olacaktir.
Performansa deginirsek; Nasil daha fazla performansli olacak? sql sorgularinin ve applicationdaki kodun derleme maliyetlerini karsilastirdiniz mi? Validation kurallarina uymayan veri once tcp/ip yoluyla sqle gonderip, tekrar ayni yoldan uyari mesajini applicationa mi gondereceksin? Bu aradaki trafigin maliyeti ne olacak?