indexlerdeki sorting hakkında

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

indexlerdeki sorting hakkında

Mesaj gönderen meron06 »

sel.al.arkadaşlar.indexlerdeki sorting özelliğinin ascending veya descanding olarak ayarlanmasının performansa etkisi varmı.tam olarak bu özellik neyi sağlıyor.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Elbette performansa etkisi vardır. Örneğin milyonlarca kaydı olan bir tabloya sürekli MAX gibi aggragate fonksiyonlar kullanıyorsanız, DESC index tanımlamanız performansınızı oldukça etkileyecektir.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

kuri kardeş mesela benim 1.4 milyon kayıt olan bi tablom var ve bu tabloda işlem no diye bi alanım var ve indexli.en son yapılan işlem tablonun sonunda ve doğal olarak en son yapılan işlemin numarası en büyük.bu alanı desc olarak indexlediğim zaman aramaya tablonun sonundan başlayacakmı demek oluyor .
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

BinaryTree'de üst dallarda otomatik olarak en büyük değerleri saklayacağı için daha hızlı bulacaktır. Sondan başlayacak demek çok doğru olmaz onun yerine daha hızlı erişim sağlayacaktır. Yani Tree'yi tararken üst dallarda küçük değerler yerine en büyük değerler duracağı için daha kısa bir biçimde ulaşacaktır. Bu sebeple daha az vakit harcayacaktır. İstersen deneme yapabilirsin.

Atıyorum 1,000,000 kere MAX aldır (Tabi makinanın performansına göre bu rakamı düşürebilir veya arttırabilirsin) daha sonra DESC index tanımlayıp aynı programı çalıştır. Gözle görülür performans farkı olacaktır.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

indexlerde bu tip bir değişimden sonra vt nizi görmedim ama 3. parti programlar ile tüm tabloları optimize ederseniz bu indexlerin durumuna göre tablonuz yeniden organize edilecektir. bununda hıza katkısı olur tabi.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

cevaplarınız için çok teşekkür ederim arkadaşlar.içimi rahatlattınız doğrusu.veritabanım çok aktif günlük girilen kayıtların sayısı bazen yoğunlukla doğru orantılı olarak çok fazla olabiliyor.yazılımda dönem devri gibi birşey yapmamız malesef mümkün deyil şuan 6-7 adet tablomun kayıt sayısı 1.5 milyon civarında ve hızla artıyor.ilerleyen zamanlarda illaki yavaşlamalar olacak .şimdiden bu nu geciktirmeye çalışıyorum.sizlerin ne gibi önerileri olabilir acaba başka.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Şu Linkteki yazıları okuyun,

viewtopic.php?t=12939&highlight=

Birde yine burada benim yazdığım tavsiyeleri göz önünde bulundurun,

viewtopic.php?t=581&highlight=performans+indeks

Kolay Gelsin

Not : Daha önce yine sana bir takım tavsiyelerde bulunmuşum zaten onları da bir hatırlarsan (veya uygularan iyi olur)
Not2 : Eğer tabloların yapısı, indexler ve erişimlerin doğru mantıklarda ise korkmana gerek yok data boyutu isterse 100 GB olsun hız konusunda sıkıntı yaşamazsın...
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla