Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sortiranje tema po datumu zadnjeg posta -- kako odraditi?

[es] :: Baze podataka :: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?

[ Pregleda: 2015 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zoran Rašković
Serbia

Član broj: 95
Poruke: 1358
*.krusevac-2.tehnicom.net



Profil

icon Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 02:01

imam strukturu tabele:
pid | parent_id | subject | author | text | ip | ip_real | datum

ovo je tabela za forum.


I sad novi postovi imaju parent_id=0 uvek.

Ja sad ocu da sortiram sve koji imaju parent_id=0 ali po datumu zadnjeg posta koji kao parent_id ima pid od ovog posta koji ima parent_id=0.

:) Mozda sam malo komplikovano rekao ali valjda dobijate ideju sta ocu da uradim. Kao na ovom forumu: ocu da sortiram sve teme po datumu zadnjeg posta.


Did you know that one of the best weight loss pills is Proactol? Well, in my experience it is certainly one of the top diet pills on the market.
16.08.2002. u 02:01 

Riste Pejov
Team Leader/Senior Software Developer @ Ein-Sof ltd S..
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.102.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 11:01
koju bazu koristis ?

posto u Postgres, Oracle i MSSQL bi se moglo uraditi sa sub selectima..
ali za MySQL .... mora bi uraditi dva upita pa onda u scriptu da sortiras prvi recordset


People who think they know everything tend to irritate those of us who do.
16.08.2002. u 11:01 

Zoran Rašković
Serbia

Član broj: 95
Poruke: 1358
*.internet-cafe.co.yu



Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 15:01
Koristim mysql
Did you know that one of the best weight loss pills is Proactol? Well, in my experience it is certainly one of the top diet pills on the market.
16.08.2002. u 15:01 

Mihailo
Mihailo Đorić

Član broj: 1016
Poruke: 2873
*.verat.net



Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 17:05
while ( dok ima parent_id )
{
// uzems max_datum za dati parent_id

max_datum= select max(datum) from tabela where parent_id=trenutni parent_id;

// ubacis dati parent_id i njegov max_datum u temp tabelu

INSERT temp (parent_id, datum) SELECT parent_id, datum FROM tabela
WHERE tabela.datum='max_datum' & tabela.parent_id=trenutni parent_id;

parent_id++;
}

Dobiješ temp tabelu sa parent_id i max_datum za taj patrent_id, koju posle samo sortiraš upitom.

Pre while uradiš delete temp tabele.
16.08.2002. u 17:05 

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.bitsyu.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 21:46
Mada je predloženo zaista rešenje kakvo si tražio i mogao dobiti za MySQL 3.23, ja bih preporučio da se spustiš za jedan nivo, i razmisliš o arhitekturi tvoje baze.

Ukoliko će nove poruke biti mnogo ređe od listanja poruka (uobičajeno ponašanje; u najgorem slučaju ćeš dobiti 1:1 odnos i to kada svako čim izlista teme odmah pošalje novu temu), onda je bolje rešenje da dodaš polje ,,datum-najnovije'' uz svaku poruku, a koje ćeš koristiti samo kod poruka sa parentID-om=0.

Jasno je da ćeš ovako imati ponovljene podatke (,,redunansa''), i da će ti baza zauzimati više prostora na disku (ali smatram da je to zanemarljivo zbog odnosa veličine poruke i veličine polja datuma). Takođe ćeš morati da po upisu svake nove poruke izmeniš i ,,datum-najnovije'' odgovarajuće nad-poruke.

Prema tome, na ovaj način bi sa bilo kojom bazom postigao mnogo veću brzinu odziva, i procesor bi se manje opterećivao (a disk neznatno više). Naravno, ukoliko imaš neki RISC procesor na 500GHz sa 1GB keša i neki stari, spori disk od 100MB, bolje je prethodno rešenje (ili možda da sve smestiš u keš procesora :).

A još, ovo rešenje omogućava upotrebu kratke SELECT naredbe.

Nadam se da će i ovaj predlog biti razmatran kao korisno rešenje.

Toliko.
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
16.08.2002. u 21:46 

Riste Pejov
Team Leader/Senior Software Developer @ Ein-Sof ltd S..
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.102.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?19.08.2002. u 10:28
Mislim da je fino da poslusas tOwk-a
i najbolje ti je da podelis to sve u dve tabele,

jednu sa svim postovima koji nemaju parenta, i ostala tabela da budu postovi koji su vezani
za neki od onih sa parent_id=0, onda u toj prvo tabeli sa postovima bez parenta, postavi jos
jednu kolonu (ali sad ti u toj prvoj tabeli i ne treba parent_id tako da mozes tu kolonu zameniti sa timestamp-om) koja bi bila TIME STAMP sa vreme i date zadnjeg child posta, koju bi update-ovao
svaki put kad se unese child post.
People who think they know everything tend to irritate those of us who do.
19.08.2002. u 10:28 

[es] :: Baze podataka :: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?

[ Pregleda: 2015 | Odgovora: 5 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.