Hız İçin; SP ? Viev? Programdaki SQL?
Hız İçin; SP ? Viev? Programdaki SQL?
Merhaba;
Ağ ortamında çoklu kullanıcıyla çalışan (ağ ortamında yaklaşık 10 makina) bir uygulamadaki hız sorunu var.
Delphi tarafından Query ile veriyi çekmekmi.?
Stored Proıcedure kullanmakmı?
Vievs oluşturup oradan veriyi çekmekmi?
Sorgunun hızını etkiler.
Ben Delphi tarafından query ile sorguyu alıyorum sanırım ağ çok kasılıyor ve Sorgu sonucu çok yavaş geliyor.
Saygılarımla
Teşekkürler.
Ağ ortamında çoklu kullanıcıyla çalışan (ağ ortamında yaklaşık 10 makina) bir uygulamadaki hız sorunu var.
Delphi tarafından Query ile veriyi çekmekmi.?
Stored Proıcedure kullanmakmı?
Vievs oluşturup oradan veriyi çekmekmi?
Sorgunun hızını etkiler.
Ben Delphi tarafından query ile sorguyu alıyorum sanırım ağ çok kasılıyor ve Sorgu sonucu çok yavaş geliyor.
Saygılarımla
Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
bu aslında tabloların index yapısına bağlı birazda,
bir tablo için prosedür yazmaya gerek yok.
ama bir den fazla tablo birleştirilip içinde func. kullanılacakca o zaman St.pros. derim. ee o da yoksa
bir Tqeury 'da çok çok rahat iş görür.ama bunda da Ado, BDE ye göre yavaş kaçıyor.
bir tablo için prosedür yazmaya gerek yok.
ama bir den fazla tablo birleştirilip içinde func. kullanılacakca o zaman St.pros. derim. ee o da yoksa
bir Tqeury 'da çok çok rahat iş görür.ama bunda da Ado, BDE ye göre yavaş kaçıyor.
Bir kelimenin anlamını öğretsen bile yeter..



Bir sorguda 2-3 dak. bekliyor kullanıcı. Ama işşin garibi şöyleki Aynı iş için tekrar düğmeye basıldığında aynı sql kodu tekrar çalışıyor ve anında veri geliyor veri ilk gelirken uzun sürüyor çok enterasan.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Merhaba;
bişey farkettim bunu sizle paylaşmak istedim.
SQL komutlarımı sorgularken Profiler ile gözlemledim Ve Gördümki
Şeklinde 100.000 kayıtı ve 120 alanı kendisi arka planda yukarıdaki şekilde sorguluyor. Halbuki kodların hepsine baktım ben böyle bir kod kullanmıyorum.
Buna sebeb olan nedir acaba!
Ağır olan sorguya
viewtopic.php?t=19138
linkiyle ulaşabilrsiniz.
Saygılarımla
Kolay gelsin.
bişey farkettim bunu sizle paylaşmak istedim.
SQL komutlarımı sorgularken Profiler ile gözlemledim Ve Gördümki
Kod: Tümünü seç
Select * From Depo_Barkod
Buna sebeb olan nedir acaba!
Ağır olan sorguya
viewtopic.php?t=19138
linkiyle ulaşabilrsiniz.
Saygılarımla
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
MS-SQL Server'ın bir özelliğidir bu.
Bir tablo ile ilgili ilk işlem yapıldığında o tablonun tamamını hafızaya alır. Sonraki işlemleri hafızadan yapar (kabaca bu şekilde).
Sorunun anlaşılan temelde bununla ilgili. Tablo devamlı veri girilen tablo değilse çok lehte sonucu oluyor.
Ama 120 alanlı tabloyu anlaşılan senin 30-40 tabloya bölmen yani normalize etmen gerekiyor. Zira sık verigirişi yapılan master tablolar böyle devasa büyüklükte olmaması gerekir.
Gerçi yapıya müdahale imkanın yok ise de yapacak fazla birşey yok (bilgisayarın hafızasını epey büyütmekten başka). Zira hafızaya sığmazsa harddiski hafıza olarak kullanmaya başlaması gerekecek.
İyi çalışmalar.
Bir tablo ile ilgili ilk işlem yapıldığında o tablonun tamamını hafızaya alır. Sonraki işlemleri hafızadan yapar (kabaca bu şekilde).
Sorunun anlaşılan temelde bununla ilgili. Tablo devamlı veri girilen tablo değilse çok lehte sonucu oluyor.
Ama 120 alanlı tabloyu anlaşılan senin 30-40 tabloya bölmen yani normalize etmen gerekiyor. Zira sık verigirişi yapılan master tablolar böyle devasa büyüklükte olmaması gerekir.
Gerçi yapıya müdahale imkanın yok ise de yapacak fazla birşey yok (bilgisayarın hafızasını epey büyütmekten başka). Zira hafızaya sığmazsa harddiski hafıza olarak kullanmaya başlaması gerekecek.
İyi çalışmalar.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
ADOTable kullandıysan eli mahkum bu şekilde çalışıyor aksi halde SQL Server süzülmüş kayıtlar üzerinden çalışıyor. Zira 150.000 kayıt yaklaşık select * from ile 50 sn de açılırken where şartı ile bu süre 1 sn bile sürmüyordu. Uygulama olarak kullandım tecrübe ile sabittir. İyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Ado table vs geçtim hocam SQL Query Analeyzer ile 5.5 dakikada sorguladı veriyi.sabanakman yazdı:ADOTable kullandıysan eli mahkum bu şekilde çalışıyor aksi halde SQL Server süzülmüş kayıtlar üzerinden çalışıyor. Zira 150.000 kayıt yaklaşık select * from ile 50 sn de açılırken where şartı ile bu süre 1 sn bile sürmüyordu. Uygulama olarak kullandım tecrübe ile sabittir. İyi çalışmalar.
Sanırım benim Bu sql sorgusunu sanırım bu raporu almaktan ziyade bir kart yazıp kartta bilgilerin güncellenmesi gerek yoksa bu olmicak.
Başka neden olabilr arkadaşlar. Kendi şirketimde deniyorum yine aynı

Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Hocam Ben sorguyla sonuç almicam vazgeçtim Kart yazıyorum.Hakan Can yazdı:MS-SQL Server'ın bir özelliğidir bu.
Bir tablo ile ilgili ilk işlem yapıldığında o tablonun tamamını hafızaya alır. Sonraki işlemleri hafızadan yapar (kabaca bu şekilde).
Sorunun anlaşılan temelde bununla ilgili. Tablo devamlı veri girilen tablo değilse çok lehte sonucu oluyor.
Ama 120 alanlı tabloyu anlaşılan senin 30-40 tabloya bölmen yani normalize etmen gerekiyor. Zira sık verigirişi yapılan master tablolar böyle devasa büyüklükte olmaması gerekir.
Gerçi yapıya müdahale imkanın yok ise de yapacak fazla birşey yok (bilgisayarın hafızasını epey büyütmekten başka). Zira hafızaya sığmazsa harddiski hafıza olarak kullanmaya başlaması gerekecek.
İyi çalışmalar.
Değerli zamanınızı ayırdığınız için hepinize tşk ederim.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Tabiki Değiştirmelidir. Bende onun için görüş alıyorum !sabanakman yazdı:İyi bir yazılımcı kendi çözümünü üretebilmek için gerekirse kullandığı tekniği değiştirmelidir.
Bu sinir neden onu çözemedim.!!!
Saygılarımla
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
İletişim hatası oldu galiba özür dilerim. Bunu sadece sinsi şeytani gülüş ifadesi için kullandım (tamamen eğlence amaçlı). Gaiba bir anda üniversitedeki arkadaş gurubumdayım sandım boş bulundum. Karakter olarak tanınmadığım bir ortamda olduğumu unutmuşum pardon
.

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
pro_imaj,kardeş ..bende delphi7 için sdac'ın komponentinin 240 versiyonu var.performansı aynen ibx,dbx gibi. ado nun 2 dk da yaptığı sorguyu 10 sn de yapıyor.projende yine ado componentlerini kullanır, sadece ağır sorguların olduğu formlarda sdac'ı kuulanırsın.sdac400 versiyonu trial,crlab ın sitesinden bakabilirsin.sanırım 240 versiyonunu ücretsiz.kurarken shareware,trial gibi gibi bir mesaj vermedi. istersen rapidshare'e upload edeyim,ordan çekersin.. 
