md5 indeksinä ?

huono idea?

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ä?

1

274

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Hyvää syntymäpäivää Sanna 40 vee!!!!

      ᕼᗩᑭᑭY ᗷIᖇTᕼᗞᗩY Sister ❣️🥰 🎉🎂✨🍰🥳 🥳🎂🥂 🎉🎊🎁🎈🎂
      Maailman menoa
      102
      5476
    2. Suomen kaksikielisyys - täyttä huuhaata

      Eivätkö muuten yksilöt pysty arvioimaan mitä kieliä he tarvitsevat? Ulkomaalaiselle osaajalle riittää Suomessa kielitai
      Maailman menoa
      87
      4783
    3. Työeläkeloisinta 27,5 mrd. per vuosi

      Tuo kaikki on pois palkansaajien ostovoimasta. Ja sitten puupäät ihmettelee miksei Suomen talous kasva. No eihän se kas
      Maailman menoa
      139
      4742
    4. Mikä on vaikeinta siinä, että menetti yhteyden kaivattuun, jota vielä ajattelee?

      Mikä jäi kaihertamaan? Jos jokin olisi voinut mennä toisin, mitä se olisi ollut? Mitä olisit toivonut vielä ehtiväsi san
      Ikävä
      367
      2159
    5. Kerro kaivattusi etunimi

      Miehille..
      Ikävä
      103
      1907
    6. 102
      1713
    7. Sulla on mies

      Aivan liikaa naisia.
      Ikävä
      256
      1547
    8. 369
      1282
    9. Pääsit koskettamaan

      Sellaista osaa minussa jota kukaan ei ole ennen koskettanut. Siksi on hyvin vaikea unohtaa sinut kokonaan.
      Ikävä
      59
      1121
    10. Kadutko mitään?

      Minä kadun ikävässä kirjoittamista, mutta en saa sitä tekemättömäksi.
      Sinkut
      200
      1040
    Aihe