select count sorgusunu hizlandirmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
select count sorgusunu hizlandirmak
evet nasil yaparim, elimde cok veri var ve veri alanlarinin bazilari da text olarak buyuk alanlar. where kismina birkac kriter geldiginde sorgu acayyip yavasliyor, buldugum sonuclarin kac adet oldugunu gostermem gerekiyor ama cok yavasliyor
alternatif sayi buldurma fikirlerinize açığım
teşekkürler
alternatif sayi buldurma fikirlerinize açığım
teşekkürler
viewtopic.php?t=581&highlight=
viewtopic.php?t=8669&highlight=index
Okumanı tavsiye ederim.
iyi günler...
viewtopic.php?t=8669&highlight=index
Okumanı tavsiye ederim.

iyi günler...
s.a.
valla denemedim ama
yerine
ıd primery key olan alanımız.
bu şekilde daha hızlı çalışması gerekir gibime geliyor.
kolay gelsin.
valla denemedim ama
Kod: Tümünü seç
select count(*) from XXXX
Kod: Tümünü seç
select count(ID) from XXXX
bu şekilde daha hızlı çalışması gerekir gibime geliyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
merhaba;
Google da dolaşırken şunu buldum.
Belki sorun çözülmüştür ama olsun
Count(1) kullanımının daha performanslı olduğunu söylüyor...
iyi günler...
Google da dolaşırken şunu buldum.
Belki sorun çözülmüştür ama olsun

Count(1) kullanımının daha performanslı olduğunu söylüyor...
Kod: Tümünü seç
TIP: Performance Tuning
Since the COUNT function will return the same results regardless of what field(s) you include as the COUNT function parameters (ie: within the brackets), you can change the syntax of the COUNT function to COUNT(1) to get better performance as the database engine will not have to fetch back the data fields.
For example, based on the example above, the following syntax would result in better performance:
SELECT department, COUNT (1) as "Number of employees"
FROM employees
WHERE salary > 25000
GROUP BY department;
Now, the COUNT function does not need to retrieve all fields from the employees table as it had to when you used the COUNT(*) syntax. It will merely retrieve the numeric value of 1 for each record that meets your criteria.
- ozkanagiral
- Üye
- Mesajlar: 79
- Kayıt: 17 Oca 2004 06:23
- Konum: istanbul
- İletişim:
S.A.
Yapmak istediğini doğru anladıysam kodu aşağıda
Mantık yürütürsek normalde asıl sorgun çalışacak verilerin gelecek hesaplama yok daha sonra .recordcount ile gelen kayıt sayısı alınacak, birde bunu dene daha hızlı olacağını düşünüyorum.
İyi Çalışmalar.
Yapmak istediğini doğru anladıysam kodu aşağıda
Kod: Tümünü seç
if DMOD1.IBDS_KISI.RecordCount = 0 Then
Begin
LblMsjGoster.Color:=clRed;
LblMsjGoster.Font.Color:=clYellow;
LblMsjGoster.Caption:= 'Aradığınız '+TarihindeGelenlerTS+' Tarih''inde gelenler''e ait kayıt. Bulunamadı...'
End
Else
Begin
LblMsjGoster.Color:=clGray;
LblMsjGoster.Font.Color:=clWhite;
LblMsjGoster.Caption:= 'Aradığınız '+TarihindeGelenlerTS+' Tarih''inde gelenler''e ait '+IntToStr(DMOD1.IBDS_KISI.RecordCount)+' Adet kayıt. Bulundu...';
End;
end;
İyi Çalışmalar.