Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
#1 · Zasláno: 2. 4. 2012, 13:59:12
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 |
#2 · Zasláno: 2. 4. 2012, 14:13:48
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 * |
#3 · Zasláno: 2. 4. 2012, 14:16:28
SELECT * FROM table ORDER BY ID DESC LIMIT 10 |
||
Sylar Profil |
#4 · Zasláno: 2. 4. 2012, 17:16:15
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 |
#5 · Zasláno: 2. 4. 2012, 17:23:54
Rychlejší než co? Máš na příslušných sloupcích indexy?
|
||
Časová prodleva: 3 dny
|
|||
Sylar Profil |
#6 · Zasláno: 5. 4. 2012, 21:52:28
Rychlejší vyhledávání v menší, dočasné tabulce, než ve velké. S indexy není (nebyla) ani jedna.
|
||
Časová prodleva: 11 let
|
0