Comments on: Seřazení tabulky pomocí ALTER TABLE https://www.jens.cz/en/serazeni-tabulky-pomoci-alter-table/ zápisník bývalého programátora Tue, 26 Mar 2013 23:33:31 +0000 hourly 1 By: Karel https://www.jens.cz/en/serazeni-tabulky-pomoci-alter-table/comment-page-1/#comment-33 Karel Sun, 12 Apr 2009 10:45:16 +0000 http://www.jens.cz/?p=274#comment-33 Ok dik moc. Aspon ted vim, ze sem si to jenom nevyfantaziroval, ale ze je to zalozene i na nejakem podkladu ;) Kazdopadne to ale nemeni nic na tom, ze bych mel ve volne chvili, zkusit nejaky ten benchmark na to pripojeni dat. I kdyz teda ocekavam, ze to budou dost zanedatelne rozdily. Ok dik moc. Aspon ted vim, ze sem si to jenom nevyfantaziroval, ale ze je to zalozene i na nejakem podkladu ;)

Kazdopadne to ale nemeni nic na tom, ze bych mel ve volne chvili, zkusit nejaky ten benchmark na to pripojeni dat. I kdyz teda ocekavam, ze to budou dost zanedatelne rozdily.

]]>
By: Jens https://www.jens.cz/en/serazeni-tabulky-pomoci-alter-table/comment-page-1/#comment-32 Jens Sat, 11 Apr 2009 06:56:11 +0000 http://www.jens.cz/?p=274#comment-32 No právě to je ten problém MySQL, v případě kombinace řazení ASC a DESC vždy použije filesort ale ne index (i když je index definovaný jako kombinace ASC a DESC), viz manuál: In some cases, MySQL cannot use indexes to resolve the ORDER BY, although it still uses indexes to find the rows that match the WHERE clause. These cases include the following: ... You mix ASC and DESC: <code>SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC;</code> ... No právě to je ten problém MySQL, v případě kombinace řazení ASC a DESC vždy použije filesort ale ne index (i když je index definovaný jako kombinace ASC a DESC), viz manuál:

In some cases, MySQL cannot use indexes to resolve the ORDER BY, although it still uses indexes to find the rows that match the WHERE clause. These cases include the following:

You mix ASC and DESC:
SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC;

]]>
By: Karel https://www.jens.cz/en/serazeni-tabulky-pomoci-alter-table/comment-page-1/#comment-31 Karel Fri, 10 Apr 2009 23:23:06 +0000 http://www.jens.cz/?p=274#comment-31 Dost by me zajimalo jak by vypadaly casy pro 2) a 3) v pripade dotazu SELECT SQL_NO_CACHE id, datum FROM clanky ORDER BY datum, id LIMIT 10; a indexu na datum ASC, id ASC a toho stejneho dotazu pri pouziti pouze indexu nad sloupcem datum a to jak pro variantu ASC, tak DESC Ja si totiz nejsem schopny predstavit jakym stylem prochazi index pri pouziti DESC, ASC vzhledem k tomu, ze to v takovem poradi ulozene nema. Chapu ze kdyz udelam index jena nad jednim sloupcem, tak i kdyz je to v index souboru serazene ASC tak neni az takovy problem cist ten strom od konce. Ale jestli jde stejne snadno cist od konce i DESC, ASC pri ulozeni ASC, ASC si proste nepredstavim. Dost by me zajimalo jak by vypadaly casy pro 2) a 3) v pripade dotazu
SELECT SQL_NO_CACHE id, datum FROM clanky ORDER BY datum, id LIMIT 10; a indexu na datum ASC, id ASC
a toho stejneho dotazu pri pouziti pouze indexu nad sloupcem datum a to jak pro variantu ASC, tak DESC

Ja si totiz nejsem schopny predstavit jakym stylem prochazi index pri pouziti DESC, ASC vzhledem k tomu, ze to v takovem poradi ulozene nema. Chapu ze kdyz udelam index jena nad jednim sloupcem, tak i kdyz je to v index souboru serazene ASC tak neni az takovy problem cist ten strom od konce. Ale jestli jde stejne snadno cist od konce i DESC, ASC pri ulozeni ASC, ASC si proste nepredstavim.

]]>