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 |
27. 02. 2009. | #1 |
Goran Pilipović
Sir Write-a-Lot
|
MySQL optimizacija
Čitam neki PDF "MySQL Performance Cookbook" koji je izdao O'Reilly, pa sam našao neke stvari koje mi deluju čudno.
Na primer, dao je naslov sekciji "Manual joins" i kaže ovako: Umesto: SELECT * FROM A,B WHERE A.BID=B.ID AND A.C=5 Brže je sa 2 querija: SELECT * FROM A WHERE A.C=5 SELECT * FROM B WHERE B.ID IN (<List of retrieved values>) I objašnjava: Can be faster as each row from B is retrieved once, and because IN list will be sorted for optimal retrieval. Zar ne bi trebao mysql da optimizuje prvi query i da ga izvrši u najmanju ruku istom brzinom kao ova 2 querija? Samo da napomenem da je autor Peter Zaitsev koji je navodno radio 4,5 godine u MySQL AB kao manager u high performance group i performance related support.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! Poslednja izmena od bluesman : 27. 02. 2009. u 01:20. |
27. 02. 2009. | #2 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
|
iskreno i meni je prilicno cudan taj savet, jedino sto mogu logicki da zakljucim jeste da ce se query "SELECT * FROM B WHERE B.ID IN (<List of retrieved values>)" kesirati u celosti dok "SELECT * FROM A,B WHERE A.BID=B.ID AND A.C=5" nece, kada bi mysql imao prave bindove bila bi druga prica.
|
27. 02. 2009. | #3 |
Ivan Dilber
Sir Write-a-Lot
|
Ako Peter Zaitsev to kaze onda je to sigurno tako, on je zaista jako dobar poznavalac materije...
Doduse, mozda se to odnosilo i na neke starije verzije mysql-a, moguce da tad nije radila optimizacija, pa su je posle sredili ili tako nesto...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
[MySQL] Optimizacija upita, indexi | mb_sa | SQL baze podataka - Sponzor: Baze-Podataka.net | 15 | 30. 08. 2009. 17:47 |
MySQL - Optimizacija querija | dinke | SQL baze podataka - Sponzor: Baze-Podataka.net | 12 | 18. 06. 2007. 23:39 |
CSS optimizacija | Vladimir Nikolic | (X)HTML, JavaScript, DHTML, XML, CSS | 25 | 23. 08. 2006. 22:54 |
PHP optimizacija | bluesman | PHP | 10 | 16. 05. 2006. 02:04 |
optimizacija koda? | Blood | SQL baze podataka - Sponzor: Baze-Podataka.net | 12 | 26. 03. 2006. 18:53 |