Autor Zpráva
John_Franco
Profil *
Mám dotaz, který vybírá data z dvou tabulek podle dvou sloupců. Každá tabulka >5000 záznamů, dohromady obě asi 10mb.
Když vyberu něco poprvé (odešlu formulář), výsledek mi vyjde asi za 0,5s. Podruhé taky, ale potřetí a počtvrté už to trvá zhruba minutu. Poté se to celý proces opakuje.

Proč to je? Zahlcuji RAMku? (mám virtuální server - 256mb RAM) Nebo to je něco jiného? Jak to mohu vyřešit?

Děkuji moc za pomoc, už jsem zoufalý
bohyn
Profil
John_Franco
Pameti sice neni moc, ale stacit by mela. Jak je na tom swap? pouziva se?
Tipuju ze bud nepouzivas indexy, nebo mas spatne sestaveny dotaz.
John_Franco
Profil *
Dík,
indexy nepoužívám, to je pravda. Ale proč to jednou dvakrát jde, a pak se to naprosto zahltí?
Kajman_
Profil *
Zkuste se podívat nějakým monitorem, kde se to zahlcuje. Třeba s tím pomůže mysql administrator. Pro pochopení zpracování dotazu zase příkaz explain. Výkon virtuálního serveru samozřejmě mohou ovlivnit i další virtuální stroje - musí se dělit např. i výkon disku.
bohyn
Profil
John_Franco
Kdyz nejdou dostupne indexy, SQL vytvari docasne indexy. Ty muzou zaplnovat pamet a donutit jadro swapnout (traba i apache) na disk. Muzes vyzkouset jestli pomuze FLUSH nebo RESET

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