- wachag blogja
- A hozzászóláshoz be kell jelentkezni
- 1155 megtekintés
Hozzászólások
Megmutatod a selectet és a két explain plant? Csak kíváncsi vagyok.
- A hozzászóláshoz be kell jelentkezni
Egyelőre fejlesztés alatt áll:
http://pastebin.com/4hDq3B36
Megjegyzem, semmit sem értek az adatbázisokhoz, csak használom egy saját munka keretében. Explain plan még majd lesz.
Ez elsősorban flamekeltő blogbejegyzés volt :-)
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ez neked ronda? :) Van egy 144 soros MSSQL Querym :)
Nalad is csak a channel IN (...) a sok.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Az a ronda benne :-)
A többi okés.
- A hozzászóláshoz be kell jelentkezni
Van ennél cifrább is, de az hamar lefut :-).
- A hozzászóláshoz be kell jelentkezni
Köszi!
- A hozzászóláshoz be kell jelentkezni
A MySQL egyelőre még fut.
- A hozzászóláshoz be kell jelentkezni
MySQL:
1 PRIMARY ALL [NULL] [NULL] [NULL] [NULL] 662107 Using temporary; Using filesort
1 PRIMARY receiver ALL cfscycles,cfecycles [NULL] [NULL] [NULL] 2057 Range checked for each record (index map: 0x3)
2 DERIVED comm ALL cchannel [NULL] [NULL] [NULL] 614472 Using where
2 DERIVED sender ALL cfscycles,cfecycles [NULL] [NULL] [NULL] 2057
- A hozzászóláshoz be kell jelentkezni
próbáld átírni CTE-re és úgy mindkettő jobban odateszi magát. Ne félj, nem kell hozzá érteni, csak ismerni. :)
http://msdn.microsoft.com/en-us/library/ms175972.aspx
http://www.postgresql.org/docs/9.2/static/queries-with.html
- A hozzászóláshoz be kell jelentkezni
De ettől miért lenne gyorsabb? Ez inkább csak szintaktikailag más.
- A hozzászóláshoz be kell jelentkezni
CTE-t lehet referenciaként használni, olvashatóbb, karban tarthatóbb és rekurzív szelekteknél használható jól. Ennél már csak a temptábla jobb, amire indexet is tehetsz, de az már a "kicsit értek hozzá" mesgye, nagyon veszélyes. :)
Volt nekem 2-300 soros select-szörnyem és CTE-vel valamiért gyorsabb lett, kb 30%-a lett a futásidő az eredetinek..
- A hozzászóláshoz be kell jelentkezni
A rekurziót tényleg nem nagyon lehet máshogy, de amúgy én biztos a temp tábla + triggerek/jobok felé mennék, ha a teljesítmény a fontos. Az olvasható és karbantartható selectjeim általában lassúak lesznek :)
- A hozzászóláshoz be kell jelentkezni
Ó bakker, ha ezt ismertem volna egy fél évvel ezelőtt... :)
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
A MySQL-nel szerintem a nested select a problema, azt nagyon nem szokta szeretni. Ha azt elhagyod, akkor is lassu?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. - A hozzászóláshoz be kell jelentkezni
Akkor nincs értelme a lekérdezésemnek :-)
Komolyra fordítva: lehet, volna értelme megnézni, ha nagyon ráérek, kipróbálom.
Egyelőre kiválóan megy Postgres-sel, és feltételezhetően lesz olyan rész, amihez meg ígyis-úgyis az fog kelleni, mert a MySQL nem támogatja az adott funkciót.
- A hozzászóláshoz be kell jelentkezni