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

241

    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. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      64
      3305
    2. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      43
      3127
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      43
      2498
    4. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      108
      2376
    5. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      31
      1923
    6. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      27
      1820
    7. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1626
    8. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      85
      1435
    9. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      39
      1300
    10. Lähtikö korvat

      puhtaaksi vaikusta?
      Tuusniemi
      82
      1159
    Aihe