náhodně generovaný textový řetězec-efektivněji

14 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. neporadil by mě někdo jak efektivněji vygenerovat textový řetšzec obshující znaky a-z a 0-9 a zajistit jeho jedinečnost podle databáze generovaných řetšzců já to zatim mam vymyšleny tak že fci random() vygeneruji nahodne čislo a fci krypt() to zakryptuji a sql overim jestli toento retezec jiz neexistuje nezna nekdo neco efektivnejsiho?
  2. myslim ze to lze povazavot za dostatecne. staci to tak a je to dostatecne efektivni
  3. Místo random() je lepší použít uniqid(), která generuje unikátní řetězce založené na čase.
  4. to honza : dik to Master (---.sbone.cz) tusil jsem ze to jde efektivneji
  5. Slovo "efektivne" v programatorske sematice znamena "rychle". Neni to totez jako slovo kvalitne!
  6. navrh Honzy (---.gyrec.cz) je lychlejsi protoze nemusim vymeslet nahodne cisla a kriptovat ho mam uz rovnou retezec topro me znamena efaktivnejsi (rychlejsi) míisto dvou prikazu(f_ci) pouzit jeden
  7. jenze pokud tvou aplikaci pouziva vice uzivatelu, je mozne, ze i kdyz to overis, tak mezi tim nez to zapises si stejny retezec vygeneruje jinu uzivatel a pak se tam zapisou stejne takze bud nejak zamknout tabulku (nejsem si ted z hlavy jist jestli mysql umi), nebo proste pouzit k overeni databazi - pokud mas unikatni id kolonku v tabulce, a pokusis se vlozit zaznam s id ktery uz existuje, databaze ho nevlozi a vrati error, takze by slo napsat: generuj retezec dokud ne(pokud o vlozeni vygenerovaneho retezce selhal) { generovat retezec } nebo prirozene to prepsat pomoci repeat/until repeat generuj retezec until (vlozeni se nepovedlo)
  8. ...pokracuji navi ve vetsine pripadu budes volat jen jednu sql funkci, coz muze byt rychlejsi nez jendou funkci zjistovat a pak dalsi funkci vkladat
  9. to: ja ptrebiji nejakY slozitejsi tretezec nez jen dve cislice id
  10. tim id jsem myslel sloupec v databazi oznaceny jako primary key, typem to muze byt klidne libovolne dlouhy retezec
  11. V MySQL se tabulky zamknout dají, takže to jde obojím.
  12. 2 Andrew: Jak?
  13. flush tabels with read lock ;-) - coz ti na wz asi nepobezi, jinak: lock table tbl_name to by mohlo chodit, co?
  14. mala pravdepodobnost ze se podari vygenerovat najdou dva upne stejne retezce (generovat tento retezec budu jen vyjmecne

← Zpět na všechna témata