|
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 |
|
15. 08. 2009. | #1 |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
|
A kolika je ta tvoja baza? Možda je suviše mala trenutno da bi bilo neke razlike?
__________________
Commercial-Free !!! |
16. 08. 2009. | #2 |
profesionalac
Qualified
Datum učlanjenja: 19.05.2007
Poruke: 123
Hvala: 13
3 "Hvala" u 3 poruka
|
@degojs
Baza ima preko 20.000 redova, mislim da bi trebalo biti dovljno. @bOkIcA Arhiviranje mi trenutno nije opcija. To je planirano, ali nakon odredjenog vremena, gdje bi baza tada imala duplo i vise redova @srdjevic http://www.imagesforme.com/show.php/640038_explain2.jpg Kada odradim FORCE indexa, mysql ga i koristi. Explain daje nesto bolje rezultate, ali pomaka sa brzinom nema. Upit je izgleda najbrzi kada nema ni jednog indexa. Hvala na dosadasnjoj pomoci. |
15. 08. 2009. | #3 |
Bojan Abramovic
Professional
Datum učlanjenja: 16.01.2008
Lokacija: Novi Sad
Poruke: 232
Hvala: 30
47 "Hvala" u 30 poruka
|
Ne razumem se kompletno ali sumnjam na to da sortiranje te kolicine podataka (20000+) uzima vecinu vremena. To pokazuje i "explain" gde se vidi da se koristi temp tabela pa tkzv filesort jer je verovatno previse materijala za direktnu obradu u memoriji.
Neki predlog moze biti da mozda arhiviras vesti pa da takve upite radis na manjim tj samo aktuelnim podacima ili sl. |
15. 08. 2009. | #4 |
profesionalac
Professional
Datum učlanjenja: 15.06.2005
Lokacija: Chicago IL, USA
Poruke: 209
Hvala: 12
12 "Hvala" u 11 poruka
|
Probaj ovo:
ALTER TABLE vijesti ADD INDEX `sortindex` (`pozicija`, `datum_objave`); Onda u upitu u odeljku FROM umesto "vijesti v," stavi "vijesti v FORCE INDEX (sortindex)," Pravi ti temp tabelu zbog sortiranja, a ne uslova.... Edit: i daj screenshot explain-a sa ovim cak i ako ne radi brze (osim ako je identican onom iz prve poruke)
__________________
ActiveCampaign - Email marketing made simple. |
16. 08. 2009. | #5 |
Ivan Dilber
Sir Write-a-Lot
|
ako nema pomaka sa brzinom, a koristi index za sortiranje (ne pojavljuje ti se filesort), onda je mozda problem u podesavanju servera, da ne moze da stavi ceo index u memoriju jer mu je dodeljena velicina cache-a premala. Jel baza InnoDB ili MyISAM ili nesto trece?
__________________
Leadership is the art of getting people to want to do what you know must be done. |
17. 08. 2009. | #6 |
profesionalac
Professional
Datum učlanjenja: 15.06.2005
Lokacija: Chicago IL, USA
Poruke: 209
Hvala: 12
12 "Hvala" u 11 poruka
|
Pa da, sad ne koristi temp table, samo filesort... bice da je premali kes... mislim da bi sa vecim kesom ovako radilo bolje od pocetnog.
__________________
ActiveCampaign - Email marketing made simple. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
kako rezultate mysql upita najlakse smjestiti u tabelu..? | dejan86 | PHP | 8 | 16. 09. 2009. 00:15 |
MySQL optimizacija | bluesman | SQL baze podataka - Sponzor: Baze-Podataka.net | 2 | 27. 02. 2009. 15:47 |
MySQL - Optimizacija querija | dinke | SQL baze podataka - Sponzor: Baze-Podataka.net | 12 | 18. 06. 2007. 22:39 |
MySQL import - više upita iz fajla ili stringa | Ilija Studen | PHP | 6 | 09. 07. 2006. 16:07 |
potrebna pomoc oko SQL upita | ivanhoe | SQL baze podataka - Sponzor: Baze-Podataka.net | 4 | 10. 02. 2006. 17:09 |