SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
10. 06. 2011. | #1 |
profesionalac
Qualified
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
|
RAND za samo odredjene ispise
Opet ja sa novim problemom i trazenjem odgovora od vas
Kako da se kod izlistavanja svih upisa, oni koji su oznaceni kao glavni, npr njih 5, od ukupno 10, RAND prikazuju? Oni uvek zauzimaju pozicije od 1 do 5, ali bih hteo da se te pozicije tih glavnih 5 upisa menjaju, dok ostalih 5, nebitnih imaju sortiranje po nekom zadatom kriterijumu koji se ne menja. |
10. 06. 2011. | #2 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
PHP kôd:
|
11. 06. 2011. | #4 |
Ivan Dilber
Sir Write-a-Lot
|
sa 2 upita, ovako iz jednog cuga moze, ali je neefikasno.
Uzmi prvo svih 10 oznacenih, pa izaberi random 5. Posle dohvati sortirano sve ostale, osim onih 5. Tako ce ti se koristiti indexi.
__________________
Leadership is the art of getting people to want to do what you know must be done. |
11. 06. 2011. | #5 |
profesionalac
Qualified
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
|
@webarto, to mnog jednostavno, znao sam i ja za to
@jablane, to je to, pomoglo mi je. Moj upit izgleda ovako: PHP kôd:
U ovom upitu su iskorosceni saveti koje sam dobio na ovom forumu. Sad nisam siguran da mi je bas sve najasnije, al bitno je da radi. Samo, pitanje je koliko je ovaj upit tezak za bazu? Hvala na svakoj pomoci do sada! |
11. 06. 2011. | #6 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
SQLKiller Idi tamo u SQL tab, pokreni query pa vidi za koliko se izvršava, pomnoži to sa brojem korisnika online ili čime već, i sve će ti biti jasno Imaš par subselect + LIKE bez indexa + RAND(), samo po sebi ne valja a ovo je loša kombinacija
|
11. 06. 2011. | #7 | |
profesionalac
Qualified
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
|
Citat:
Za sada mi je bitno da upit radi, jer i nije prevelika poseta, pa se dobro drzi. Ovaj jedan LIKE mogu da izbacim, subselecte cu probati da svedem na jedan ili da uradim na drugaciji nacin (mozda ako jedan podatak iz tabele vote, prebacim u tabelu objekti), RAND radi sa samo 10-ak upisa, tako da mislim da nije strasno. Valjda nije problem da tabelu objekti koja ima 20 kolona, povecam za jos jednu , sta mislite o tome? Ono sto me zanima jos je sledece. U nekim tabelama se stalno brise i pise, pri cemu je id (auto increment) negde ogranicen npr na 5 karaktera, a ID se vremenom povecava, sta onda ako se taj broj prevazidje? Za kasnije cu morati sve to da optimizujem i da bijem glavu. Sad nemam snage da je udarim o zid, premorio sam se |
|
|
|