Programim dhe zhvillim, javascript, python, php, html

Cila ishte metoda më e mirë për të numëruar diskutimet totale të përdoruesve?

Unë po krijoj forum diskutimi. ku më duhet të numëroj diskutimet totale të secilit përdorues. Kështu që unë po mendoj dy metoda për t'i përdorur si më poshtë

Supozoni tabelën called user_forum_profile

Ka fushat e mëposhtme

http://i.imgur.com/qxZgL0v.png

1 Metoda Çdo herë që përdoruesi krijon diskutime të reja ose komenton diskutime të tjera përditësojnë numrin e përgjithshëm përkatës në tabelën user_forum_profile

Avantazhi

Totali i diskutimeve mund të kapet lehtësisht sepse vlera CountDiscussions do të jetë e barabartë me diskutimet totale

Disavantazhi

Duhet të përditësohet çdo herë kur përdoruesi krijon një diskutim të ri ose shton koment

2 Metoda

Supozoni tabelën e quajtur diskutim

Nuk ka paraqitur quajtur id përdorues. Kur llogaritni totalin e diskutimeve, përdorni pyetjen e numërimit (identifikimi i përdoruesit) për të gjetur diskutimet totale

Pra, pyetja ime është se cila metodë është metoda më e mirë? Cila metodë përdor më pak burime të serverit?

26.02.2014

  • E dyta është një formë normale. E para mund të arrihet më mirë nga shkaktarët. Unë do të shkoja me të 2-tën. 26.02.2014
  • Mendoj se i pari do të ishte më mirë të mos përmendim se mund të ruani pyetjet në memorie, në mënyrë që të mos riprodhohet çdo herë. 26.02.2014
  • E dyta është më mirë besoj, nuk ka nevojë të bëni punë shtesë çdo herë derisa të keni nevojë të lexoni numërimin. Ka kuptim :) 26.02.2014
  • @avisheks Në forumin e vaniljes ata përdorin metodën e parë...më pëlqen gjithashtu të përdor metodën e dytë...prandaj më duhet të bëj metodën më të mirë. të cilat konsumojnë më pak burime të serverit 26.02.2014

Përgjigjet:


1

Nga metoda 2 preferoj të parën.

Ideja ime:

3. Method:

Nëse forumi juaj do të ketë trafik të lartë, mund të përdorë agregatin për të përpunuar të dhënat. Ju krijoni një tabelë të re 1-2, për shembull:

user_comment_aggregate (user_discuss_aggregate same table structure)
fields:

uca_id
uca_user_id
uca_datetime

Shembuj vlerash:

1, 123, '2014-02-26 07:08:09'
2, 123, '2014-02-26 07:11:22'
3, 123, '2014-02-26 07:22:33'
4, 456, '2014-02-26 07:33:44'

Ju thjesht vendosni një insert të shpejtë në këtë tabelë me user_id dhe now();

Skripti përpunon të gjitha rreshtat në këtë tabelë. Për shembull, si përditësoni postimin për 123 përdorues dhe përditësoni profilin:

UPDATE user_forum_profile SET CountComments= CountComments +3 WHERE user_id= 123

Pastaj fshini të gjitha të dhënat e përpunuara nga ajo tabelë e grumbulluar.

Përparësi:

  • ndoshta përditësimi më i vogël user_forum_profile, sepse vetëm 1 herë me të gjitha postimet e reja numërohen

Dhe ju mund ta përpunoni këtë tabelë çdo ditë sipas skriptit cron të serverit. Nëse e përpunoni këtë në mesnatë ose më vonë dhe përditësoni CountDiscussions dhe CountComments

Ndoshta kjo mund të sjellë ngarkesën më të ulët të serverit, por... disvantazh: numërimi i postimeve nuk përditësohet çdo sekonda, vetëm çdo ditë (ose kur e ekzekutoni këtë skript). Gjithashtu, mund ta ekzekutoni këtë skenar në çdo orë ose çdo 15 minuta, etj.

26.02.2014
  • Kjo do të ishte ide e mirë :) por unë jam si përditësimi i të dhënave në kohë reale .... mendoj të shkoj me metodën e parë ... sepse në faqen kryesore më duhet të tregoj temën më të fundit të forumit me përgjigjet totale, kur përdor metodën e dytë , tashmë do të gjenerojë shumë pyetje 26.02.2014
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..