[LUGOS-PROG] Mysql in indeksi
Anze
anze at volja.net
Wed Feb 16 15:36:40 CET 2005
Zivjo!
Na Internetu nekako nisem nasel podobnega primera, upam, da ima kdo kaksne
izkusnje s tem...
Na neki MySQL bazi sem opazil zanimivo situacijo, namrec, na tabeli je bilo
prisotnih 32 kljucev (max. meja, kolikor MySQL se dovoli). Problem je v tem,
da jih tam ne bi smelo biti - edini kljuc, ki sem ga jaz postavil v bazo, je
unique key na ID-ju.
Baza je 'prezivela' mnogo takih stavkov:
alter table t modify id int(6) unique not null auto_increment;
Ko sem zdaj testiral, sem ugotovil, da vsak tak stavek doda nov kljuc (poleg
PRIMARY se id, id_2, id_3,... , id_30, id_31).
Je to napaka v MySQLu, ker ne ohrani kljucev oz. vsaj pobrise starih kljucev
pri ALTER TABLE MODIFY stavku ali pa je napaka na moji strani? Z drugimi
besedami: je to feature ali bug?
Zanimivo je, da SELECT-i v bazah zaradi tega delujejo pocasi. Ce si pravilno
predstavljam indekse, bi rekel, da temu ne bi smelo biti tako, ampak
konkretna baza, kjer sem nasel to napako, po brisanju odvecnih kljucev deluje
PRECEJ hitreje.
Vsekakor bom nekaj spremenil (da se znebim odvecnih kljucev), vseeno pa bi rad
vedel, zakaj je prislo do tega. Vsak komentar je dobrodosel.
Hvala in LP!
Anze
More information about the lugos-prog
mailing list