Autor | Zpráva | ||
---|---|---|---|
wig Profil |
#1 · Zasláno: 28. 5. 2012, 00:27:29 · Upravil/a: Moderátor (editace znemožněna) 28. 5. 2012, 08:56:59
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 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 |
#2 · Zasláno: 28. 5. 2012, 07:37:05
wig:
Je index na sloupci datum? |
||
Kajman Profil |
#3 · Zasláno: 28. 5. 2012, 08:57:55
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 |
#4 · Zasláno: 28. 5. 2012, 11:52:27
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 |
||
Časová prodleva: 12 let
|
0