Onko hyvä idea käyttää md5 arvo tietokannassa uniikki indeksinä?
Tarkoituksena on tallentaa tietokantaan noin 2-30 sanan pitkät tekstit, joten varchar on liian lyhyt, joten pitäisi käyttää TEXT kenttää. Mutta miten voisi nopeasti tarkistaa onko merkkijono jo olemassa tietokannassa? Ajattelin laskea tekstikentän md5 arvo joka on 32 merkkiä pitkä ja käyttää sitä uniikki indeksinä.
Mielipiteitä?
md5 indeksinä ?
1
233
Vastaukset
- tohlo
Ihan hyvä idea, paitsi että -- kuten varmaan tiedät -- kahden eri merkkijonon md5-hash voi olla sama. Melko harvinaista tämä kuitenkin on, mutta täysin mahdollista. Voisit siis ehkä laskea hashin kahdella eri tavalla ja käyttää niitä uniikkeina indekseinä (avainkenttinä).
Tietysti myös kirjainkoot, välimerkit, ym. tulee ottaa huomioon, koska esim. yksikin ylimääräinen väli pisteen jälkeen tuottaa merkkijonosta eri hashin. Ehkä siis välimerkit ja muut erikoismerkit voisit ottaa pois sekä muuntaa merkkijonon pienille kirjaimille ennen hashin ottamista ja tarkistamista.
Lisäksi voit samuuden tarkistuksessa vertailla esim. ensimmäistä sanaa tai N ensimmäistä merkkiä merkkijonosta, tuon md5:n lisäksi. Sinänsä md5 on kuitenkin minusta ihan hyvä id-kentän arvoksi, tai erityisen integer-tyyppisen id-kentän lisänä uniikkina indeksinä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Oletko kertonut jo muille tunteistasi?
Ystävillesi esimerkiksi? Minä en ole vielä kertonut kenellekään tästä meidän jutusta.774622- 1801897
- 1241600
- 1241125
Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan
Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️161081- 351036
- 78933
- 52896
Hyvää huomenta!
Mietin miten suhtaudut minuun, jos kerron tunteista. Voinko enää sen jälkeen olla samassa paikassa kanssasi, jos koet as78872- 4838