Autor Zpráva
wig
Profil
Nevíte jak správně zacházet s datumem i při jednoduchém dotazu pořád používá filesort

EXPLAIN SELECT clanky.titulek, clanky.obrazek, clanky.idcislo, clanky.servertyp, clanky.abstrakt
FROM clanky
WHERE clanky.schvaleno = '1'
AND clanky.servertyp = 'filmy'
ORDER BY clanky.datum DESC
LIMIT 3
index na servertyp, schvaleno a zkoušel jsem i datum
kdyz dam order by pryč .. je to OK ale pořád prochází 20 000 řádku to je oK?

select_type     table     type     possible_keys     key     key_len     ref     rows     Extra
1     SIMPLE     clanky     ref     schvaleno     schvaleno     1     const     19346     Using where

a tady s order by:
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra
1     SIMPLE     clanky     ref     schvaleno     schvaleno     1     const     19346     Using where; Using filesort
Tori
Profil
wig:
Je index na sloupci datum?
Kajman
Profil
Také by mohl pomoci jeden složený index (schvaleno, servertyp, datum). Ale těžko říci, jestli to bude optimální, záleží na ostatních dotazech, častosti úprav tabulky atp.
wig
Profil
Tori: ano je

zda se mi ale ze bordel dela to schvaleno= 1 ... mam tam teda tinyint kdyz odstranim tak to vyjde v pohode i kdyz zase prochazi vsehcny radky ale aspon nepouziva filesort

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0