Firebird de indeks silme ve yeniden ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cabbar
Üye
Mesajlar: 17
Kayıt: 15 Oca 2004 11:59
Konum: Tekirdağ

Firebird de indeks silme ve yeniden ekleme

Mesaj gönderen cabbar »

Uzun bir aradan sonra bende firebirde geçmeye karar verdim aşağıda verdiğim paradox veritabanına göre yazmış olduğum kod örneği var. Eğer indekslerimde herhangi bir problem olduğunda aşağıdaki procedurem devreye girerek indeksleri silip yeniden ekliyordu.
fakat firebirdde denediğimde runtime de indeksleri silemedim programda IBOTable kullanıyorum bu konuda yardımcı olacaklara şimdiden teşekkür ederim. Beni bu paradoks belasından kurtarın. Ayrıca Firebirdde paradokstaki gibi sık sık indeks bozulurmu eğer bozulma olmaz ise zaten bunları yazmama gerek kalmaz.

Kod: Tümünü seç

begin
  IdxDosyaAdi := GGenelLink.GenelDTPATH + '\BAKIM.';
  with GTable as TTable do
       begin
         if FileExists(IdxDosyaAdi + 'PX') then DeleteFile(IdxDosyaAdi + 'PX');
         if FileExists(IdxDosyaAdi + 'XG0') then DeleteFile(IdxDosyaAdi + 'XG0');


         AddIndex('PriIdx1', 'BRL_KODU', [ixPrimary, ixUnique]);
         AddIndex('SecIdx1', 'BRL_ADI', [ixCaseInsensitive, ixUnique]);
    end;
end;
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Bozulma olmaz merak etme. Gerek yok öyle bir koda. Senede bir kere backup alır, restore edersin.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Sayın cabbar sorunuz üzerine aklıma bir fıkra geldi...
Temel ve koy ahalisi ormancılıkla geçinirlermiş.... Testere ile her gun ormandan ağaç keserlermiş.... Ortalama günde bir kişi 10 ağaç keserken temel en hızlıları olarak 15 ağaç kesermiş.... Bir gun gazetede bir ilan gromusler, elektrikli testere ilana gore gunde 80-100 ağaç kesebileceklerinden bahsediyormuş.. Koy olarak birleşip boyle bir testere almaya karar vermişler ve sipariş etmişler. Testere gelmiş denemeler yapmışlar. Fakat durum hiçte reklamdaki gibi değilmiş. Biraz artmiş keism sayısı ama herkes 15-20 ağaç keserken temel kendini zorlasada 25 den yukarı çıkamıyormuş. Alet bozuk diye firma ile filan derken fima cihaz ile birlikte en iyi kesen adamı da gonderin hem cihazı kontrol edelim hem de kesim tekniğinden kaynaklanan bir problemse onu halledelim demiş. Temel almış testereyi gitmiş.
Firma yetkilileri gel bakalım demişler önce sen bize nasıl kestiğini bi goster. Gitmişler ormana. Temel kesim yapacak. bir görevli elektrikli testereyi temele vermek için çalıştırmış.... HIR HIRRR HIRRRRRR....
Hayatından hiç duymadığı boyle bir ses ile irkilen ve sesin nereden geldiğini anlayamaya çalışan Temel
- ULA BU DA NEEE!!!!!!!
diye bağırmış....
Velhasıl şimdi siz indexleri filan yeniden oluşturma deyince...
Ben de birden hatırlayamadım o da ne ki? :)

Hayal meyal hatırlıyorum yıllar önce clipper da yapardık galiba ama paradoxu pas geçince unuttuk bu tür şeyleri...

Ama merak etmeyin Firebird de karar kıldığınız sürece inşallah yakında siz de unutacaksınız.... ;)
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Arakdaş ille de emin olmak için indeksleri silip yeniden create edebilir :wink:

Kod: Tümünü seç

drop index indeks_adi;

Kod: Tümünü seç

CREATE INDEX EMPLOYEE_IDX1 ON EMPLOYEE(PHONE_EXT);
Daha fazla detay için ilgili link;
http://www.ibexpert.info/documentation/ ... s/419.html
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
cabbar
Üye
Mesajlar: 17
Kayıt: 15 Oca 2004 11:59
Konum: Tekirdağ

Mesaj gönderen cabbar »

İlgilelen tüm arkadaşlara teşekkür ederim
Cevapla