anonīms Posted August 1, 2011 Report Share Posted August 1, 2011 Vai tiešām, ja katram lietotājam būs 1000k šādu ierakstu un kopā ir 10k lietotāji tas ir neērti un LĒNI? o0 Quote Link to comment Share on other sites More sharing options...
daGrevis Posted August 1, 2011 Report Share Posted August 1, 2011 Lai uzzinātu, vai lietotājam X ir piesaistīts ieraksts #7172, Tu pieprasi visus 1000k (Tu nepārspīlē?) ID garo stringu, kas ir saistīts ar attiecīgo lietotāju, un tad to dekodē (unserialize(), json_decode()), atrodi dabūtajā masīvā ID un jā... Mums ir ID! Lai izmanītu (pievienotu/dzēstu) ierakstu kādam, Tu pieprasi to, jau minēto, garo stringu, dekodē... pievieno iegūtajam masīvam jaunu atslēgu vai izdzēs esošo. Sūti atpakaļ. Pirms tam, protams, atkal enkodējot. Jūti overkill`u? :) Tu visu laiku saņem un sūti atpakaļ garu, garu stringu... pietam, servera pusē, to visu laika dekodē, enkodē. Quote Link to comment Share on other sites More sharing options...
anonīms Posted August 1, 2011 Report Share Posted August 1, 2011 tādā gadījumā jā, bet teiksim izvadot ciklu? labi, varbūt arī "zaudēju" :D :) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted August 1, 2011 Report Share Posted August 1, 2011 Kā 'izvadot ciklu'? :D Ķip: echo 'cikls'; ...? :D Quote Link to comment Share on other sites More sharing options...
anonīms Posted August 1, 2011 Report Share Posted August 1, 2011 while,foreach... tā sanāk izvākt vienu datu, unserlalize, un vnk izvadīt array'ju Quote Link to comment Share on other sites More sharing options...
daGrevis Posted August 1, 2011 Report Share Posted August 1, 2011 Nu jebkurā gadījumā Tev ir no datubāzes jāielādē visi dati - nevis tikai viens, kas ir vajadzīgais. Vai arī Tu to kaut kā iedomājies darīt datubāzes pusē? :) Jebkurā gadījumā tas ir overkill's! Klausi ko Grevis saka... :D Quote Link to comment Share on other sites More sharing options...
mad182 Posted August 2, 2011 Report Share Posted August 2, 2011 (edited) Tas nav nekāds overkills un nav arī lēni. Tā var darīt. Vismaz ja vajag atlasīt tikai failus pēc lietotāja, nevis lietotājus pēc faila. Teorētiski ja tev jau lapas ielādē ir pieprasīti lietotāja dati, un katrā lapā ir jārāda arī favorīti, tad tas pat būtu ātrāk, jo nevajag lieku kveriju. Bet nu jā, vēl vienu tabulu ieviest laikam būtu universālāks risinājums, ja nu ienāk prātā uztaisīt, piemēram, statistiku, cik un kādi lietotāji failu ir atzīmējuši. Edited August 2, 2011 by mad182 Quote Link to comment Share on other sites More sharing options...
spainis Posted August 2, 2011 Report Share Posted August 2, 2011 ar tādu pieeju datu integritāti nodrošināt ir neiespējami ja negribam liekus daudzus pieprasījumus, tad jau labāk ir kāda kešošanas risinājuma izmantošana Quote Link to comment Share on other sites More sharing options...
codez Posted August 2, 2011 Report Share Posted August 2, 2011 (edited) var darīt daudz ko, bet vai vajag. Un tas ir overkils. Ja ir 1000 faili un tev vajag to attēlot. Normālā UI 1000 ierakstus neattēlos, tātad vajadzēs dalīt pa lapām, līdz ar to katru reizi lasīt visus datus un no tiem atlasīt vajadzīgos ir overkils. Nemaz nerunājot par jauna faila favoritēšanas ievietošanu vai izdzēšanu. Vai vēl labāk, ja fails tiek dzēsts, tad gan jāiet cauri visiem lietotājiem jālasa visi dati, jāskatās vai ir tāds fails favoritizēts un tas jāizdzēš un tad jātaisa atkal update user tabulai. Kamēr daGrevis variantā tas ir viens kverijs, kas izmantojot indeksu, izpildīsies momentāli. Edited August 2, 2011 by codez Quote Link to comment Share on other sites More sharing options...
daGrevis Posted August 2, 2011 Report Share Posted August 2, 2011 Klausiet ko codez saka... es tāpat neko nesaprotu. :) Quote Link to comment Share on other sites More sharing options...
FT3 Posted August 3, 2011 Author Report Share Posted August 3, 2011 kads palidzes ? :D Quote Link to comment Share on other sites More sharing options...
codez Posted August 3, 2011 Report Share Posted August 3, 2011 (edited) tabulas: users:id,name files:id,name users_files:uid,fid pievienot favorīti: INSERT INTO users_files SET uid=$userid, fid=$fileid; dzēst favorīti: DELETE FROM users_files WHERE uid=$userid and fid=$fileid; Lietotāja favorīto failu saraksts: SELECT * FROM users_files uf LEFT JOIN files f ON uf.fid=f.id WHERE uf.uid=$userid; Dzēst failu: DELETE FROM files WHERE id=$fileid; DELETE FROM users_files WHERE fid=$fileid; Visu lietotāju saraksts, kuriem patīk fails: SELECT * FROM users_files uf LEFT JOIN users u ON uf.uid=u.id WHERE uf.fid=$fileid; Edited August 3, 2011 by codez Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.