#21 Kit
Za prve serial sa neda pouzit na ID, na to tu je BIG INT s velkostou 8bajtov (2^64). Za druhe tu nejde o pocet dosptupnych ID a ako som tu aj pisal , ide o nabublani velkosti DB. Priklad hovoris tu o puziti 2^64 to je 64bitov. Pri puziti MEDIUM INT (3bajty = 2^24 coz je nieco na 16milionov). A ta zaberana velkost je uplatnena vsade tak kde je to puzite, jednak priamov taj tabulke a jednak vsade v dalsich tabulkach kde je referencia na to ID danej tabulky. Pri velkej DB napriklad kde mas 10milionov zaznamov mas 10^6 * (64-24) = 40*10^6 b = 4.8MB pri jednej tabulky a to este nepocitat ine tabulky kde mas prepojenia. Pri pouziti tvojej logiky to ale pouzijes na kazdej tabulke. Pri malych veciach to je jedno ale pri velkych projektoch aj tieto veci hraju velky rolu. Cu projekty kde mas miliardy, triliony zaznamov kde nemas zopar tabuliek ale mas obrovske mnozstvo tabuliek a pri tych.
#22 peter
Bohuzial, ono sa spravi zaznam, ktory nie je vidiet, co sa tyka auto_incrementu vsak to vidiet je, coz je logicke aby nevznikla kolizia a pod commit sa to ukaze az aj v db trvalo. lenze ked pouzijes rollback tak auto_increment ignoruje. Neposnazi sa nastavit na najnizsiu moznu pocitadla od hodnoty ktora bola po vyvolani TRANSSAKTION a zapisu do danej tabulky
Vo vysledku to dopadne tak ze je tak ze pak unikaju dostupne ID a ty to potom musis kompenzovat vacsim datovym typom premennej v tabulkach.
Mam to vyskusane, ze tam nastava problem pri tom pocitadle.
A co sa tyka k udajnemu mojmu urazaniu. Mozno je tam opodstatnena drzost ale nikoho som tu neurazal. Praveze ja mozem byt urazeny ked na otazku, tu dostavam odpovede typu "odpal". Ja sa len branim a snazim sa drzat konstruktivnej rovine. Ono si streba uvedomit aj uz len z jedneho pohladu (akademicky zaujem). cize aj keby to nemalo ziadny prakticky vyznam. Aj v takom najhorsom moznom scenary si nezasluzim aby mi niekdo posielal take odpovede ake posielal, ja sa len snazim branit voci takym odpovedam a to tym ze ich na to upozornim. Toto cele.
Ako riesenie ma napadlo, plnit si array vsade tam kde som robil nejaky zapis (INSERT) a pri rollbacku spustit manualne u vsetkych tych tabuliek prenastavenie ID pocitadla. Ale ma to niekolko negativ. Za prve je to o hubu, a nechce sa mi verit ze by neexistoval iny sposob elegantnejsi, priamov v mysqli o ktorom neviem a nepodarilo sa mi to najst. A za druhe musim pridat permissiu, k moznej manualnej uprave toho pocitadla, coz sa prieci, ze permisie sa nastavaju na minimum. Ak by stranka len citatala tak uzivatel, ktory vyuziva v php na pripojenie ku db bude mat len citanie. Ked zapis tak aj zapis. Nie je dobre napriklad dat root prava :D to by bola cesta do pekla.