Merhaba;
SQL de yaklasık 100 bin ile 200 bin arası kaydım var. formda filtre yaparken (query) inanılmaz bir donma var. yani kayıtlar 10 saniye icerisinde geliyor. Dolayısıylada bu 10 saniyelik dilim içerisinde form donuyor . Bu problemi nasıl giderebilirim? daha hızlı veri çektirmenin veya filtre yapmanın bir yolu varmı?
kolay gelsin
SQL Query
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: SQL Query
s.a
Degerli arkadaşım 200 bin kayıttta oldukca cok tabiki filtrelemeyi Nasıl yapıyorsunuz ?
birde filtreleme yaparken bilgisayar acaba bellek ne kadarını kullanıyor
bu konuda bil bilgi verirseniz dahada aydınlatıcı olur
Degerli arkadaşım 200 bin kayıttta oldukca cok tabiki filtrelemeyi Nasıl yapıyorsunuz ?
birde filtreleme yaparken bilgisayar acaba bellek ne kadarını kullanıyor
bu konuda bil bilgi verirseniz dahada aydınlatıcı olur
Zengin
Re: SQL Query
Cevabın İçin teşekkürler...
q.sql.text:='select * from db where kodu=:1';
q.parameters[0].value:=değer;
gibi düşünebilirsin...
q.sql.text:='select * from db where kodu=:1';
q.parameters[0].value:=değer;
gibi düşünebilirsin...
Re: SQL Query
s.a
üstadım birden fazla kritere göre arama yapıyorsan 200 bin kayıt icinde Mutlaka arama yaptıgın alanın birinde hata vardır ?
üstadım birden fazla kritere göre arama yapıyorsan 200 bin kayıt icinde Mutlaka arama yaptıgın alanın birinde hata vardır ?
Zengin
Re: SQL Query
AĞ altından başka bir sunucu bilgisayara erişim söz konusu ise ve hatta bu ağ Wifi bir ağ ise ilk sorguda bekleme kaçınılmazdır. Takip eden sorgularda ise gelen verinin kayıt ve çekilen alan sayısına göre yoğunluğu belirleyici olur.
Localdeki bir veritabanından sorguda yavaşlık varsa sorgunuz kadar bu sorguyu aktardığınız yerde afterscroll benzeri her kayıtta yinelenen procedur'lerde hesaplama / karşılaştırma vb. yapılıyorsa bunların da revize edilmesi, mümkünse bu karşılaştırmaların SQL sorgusu içinde yapılmasında fayda vardır. Tabi mümkünse sorgudan sonra ilgili kayıt seçildiğinde sadece seçilem kayıtta bu karşılaştırmaları yapmak performansı çok çok arttıracaktır.
Detaylara göre çözümler genişletilebilir. Elimizdeki verilere göre bu kadarını yazabiliriz.
başarılar.
Localdeki bir veritabanından sorguda yavaşlık varsa sorgunuz kadar bu sorguyu aktardığınız yerde afterscroll benzeri her kayıtta yinelenen procedur'lerde hesaplama / karşılaştırma vb. yapılıyorsa bunların da revize edilmesi, mümkünse bu karşılaştırmaların SQL sorgusu içinde yapılmasında fayda vardır. Tabi mümkünse sorgudan sonra ilgili kayıt seçildiğinde sadece seçilem kayıtta bu karşılaştırmaları yapmak performansı çok çok arttıracaktır.
Detaylara göre çözümler genişletilebilir. Elimizdeki verilere göre bu kadarını yazabiliriz.
başarılar.
Re: SQL Query
"select *" kullanmaktan vazgeçin
".value" değil asinteger asstring kullanın
table a db de filtre uygulanacak alanlar index verin, null girişleri mümkün olduğunca izin vermeyin default değer verin.
SQL sonuçlarına order kullanmaya çalışın
10 saniye dönen sonucun yukarıda ki yazan arkadaşlara ilave olarak grid ne kullanıyorsun? cxgrid ise default değerleri doğrultusunda sql sonucunda dönen tüm sonuçları okur buda zaman kaybına sebep olur
kolay gele
".value" değil asinteger asstring kullanın
table a db de filtre uygulanacak alanlar index verin, null girişleri mümkün olduğunca izin vermeyin default değer verin.
SQL sonuçlarına order kullanmaya çalışın
10 saniye dönen sonucun yukarıda ki yazan arkadaşlara ilave olarak grid ne kullanıyorsun? cxgrid ise default değerleri doğrultusunda sql sonucunda dönen tüm sonuçları okur buda zaman kaybına sebep olur
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: SQL Query
Merhaba;
Cevap veren arkadaşlara teşekkürlerimi sunarım....
- Kullandıgım Grid Cxgrid..
- Select * ifadesini örnek vermemin sebebi tüm kayıtlar kullanıcıya listeleniyor.. Sonra kullanıcı ilgili kaydı filtre yapıyor.. en son o kayıta düzeltme silem vs işlmeler yapıyor...
yaptıgım uygulamalar-
Stored procedure de tanımlamalar yaptım.. Performans değişmedi (gibi);
Sorguları Thread içerisine aldım..Performans Değişmedi (gibi).
Bunlar Haricinde varmı bir çözümünüz?
Teşekkürler.
Cevap veren arkadaşlara teşekkürlerimi sunarım....
- Kullandıgım Grid Cxgrid..
- Select * ifadesini örnek vermemin sebebi tüm kayıtlar kullanıcıya listeleniyor.. Sonra kullanıcı ilgili kaydı filtre yapıyor.. en son o kayıta düzeltme silem vs işlmeler yapıyor...
yaptıgım uygulamalar-
Stored procedure de tanımlamalar yaptım.. Performans değişmedi (gibi);
Sorguları Thread içerisine aldım..Performans Değişmedi (gibi).
Bunlar Haricinde varmı bir çözümünüz?
Teşekkürler.
Re: SQL Query
Cxgrid in datacontrollerindaki gridmode u true yap.
Cxgrid filtreleme ve gruplama için tüm bilgileri veritabanından çeker, bu şekilde farkında olmadan 200.000 kaydı indiriyorsun.
Cxgrid filtreleme ve gruplama için tüm bilgileri veritabanından çeker, bu şekilde farkında olmadan 200.000 kaydı indiriyorsun.