Autor Zpráva
Sylar
Profil
Zdravím,
zajímalo by mne jak přesně funguje vyhledávání v mysql. Mám tabulku dejme tomu o 100.000 záznamech a potřebuji vybrat pouze 10 nejnovějších. Prohledává mysql všechny záznamy nebo si tabulku nejprve seřadí a vybere pouze těch 10?

Potřebuji na webu z velké tabulky zobrazovat pouze 10 nejnovějších zázanmů, tak řeším jak to udělat, aby to bylo co nejrychlejší. Napadá mne si každý den v noci vytáhnout cronem z té velké tabulky těch 10 záznamů do menší tabulky a z té je potom zobrazovat na stránce, aktualiazce dat by v tomto případě probíhala 1x denně co mi stačí, ale bude to skutečně o tolik rychlejší, že to má smysl dělat?
Str4wberry
Profil
A je obtížné si to změřit? Jinak bych řekl, že pokud nebude kritérium pro určení 10 nejnovějších moc složité, tak to se správným využitím indexů bude bleskurychlé.
ahoj
Profil *
SELECT * FROM table ORDER BY ID DESC LIMIT 10
A s prováděním někdy o půlnoci se nezalamuj, běžně se to používá třeba i při každém načtení stránky, když to aplikace vyžaduje.
Sylar
Profil
děkuji za info. měřil jsem to jen rychle přes phpmyadmina a vychází to sice rychlejší, ale zase ne o tolik, takže prozatím nechám být a uvidíme s počtem přibývajících záznamů ...
Str4wberry
Profil
Rychlejší než co? Máš na příslušných sloupcích indexy?
Sylar
Profil
Rychlejší vyhledávání v menší, dočasné tabulce, než ve velké. S indexy není (nebyla) ani jedna.

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: