Yaşar' ın Web Günlüğü

14 Ocak 2006

MySQL' de INSERT ızdırabı (tabi benim suçum)

MyISAM tipindeki bir tabloya veri girerken, daha önce silinmiş olan verilerin aynısının tekrar eklenmesi esnasında MySQL gidip tablonun sonuna bir satır daha girmek yerine daha önce olduğu yere yazıyordu. Ben de acaba şöyle yapsam düzelir mi böyle yapsam düzelir mi diye söylenerek düşünürken kafama dank etti. Niye MySQL DELETE komutunu verdiğimde veriyi silsin ki? İlgili veri satırındaki bir bayrağın konumunu değiştiriyor, ben tekrar aynı veriyi kaydetmeye kalktığımda bakıyor veriler aynı bayrağın konumunu yine düzeltiveriyordu. Tabi sonuç olarak da veriler karşıma eski sırasında çıkıyordu.

Sıra numarasını tutan bir alan açmayı tabi sonradan akıl edebildik. Demek ki insan bu kadar aptallaşabiliyor gece gece. Gerçi saat de pek geç değil ama neyse. Tamam gülmeyin.

2 Yorumlar:

  • ilginç bir durummuş. insert ederken tabloyu neden kontrol ederki ? ona ne? veriyi sona ekle olsun bitsin. silmek eklemek benim işim. aslında bence başka bir olay var orda. çünkü 1 milyar kaydın ve 300 tane fieldın olduğu bir tabloda (bu alanların içerisinde blob ve varchar(255) gibi alanlarında olduğunu düşünürsek) bi insert işlemi saniyeler sürer...

    Anonymous Adsız tarafından yazıldı. Tarih: 21:10  

  • Bana da oldukça ilginç gelmişti. Neden ve nasıl böyle bir şey yaptığını anlamış değilim. Ancak tek bildiğim bunu gerçekten yaptığı :) Belki de son silinen kayda bakıp aynı mı değil mi diye kontrol ediyor da olabilir. Çünkü bu olay bir kaydı sildikten sonra tekrar eklemeye çalışınca olmuştu diye hatırlıyorum.

    Blogger Yaşar ŞENTÜRK tarafından yazıldı. Tarih: 21:56  

Yorum Gönder

<< Home