image/svg+xml

» Poradna » Počítačové sítě

Velká MySQL tabulka, optimalizace SELECT pro stránkování

 | Microsoft Windows 7 Chrome 19.0.1084.56

Zdravím,
Mám v mysql tabulku (říkejme ji třeba "pokus") a ta obsahuje přes 1 500 000 záznamů.
Potřeboval bych udělat stránkování (to mám již vyřešené), nicméně když vypíši tímto příkladem data pro danou stránku:

$sql = "SELECT * FROM videos ORDER BY id DESC LIMIT $limit_start,40";
$result = mysql_query($sql);

while($row = mysql_fetch_assoc($result))
{
........
}

pokud je $limit_start třeba 500 (LIMIT 500,40) je všecko ok, ale pokud mám $limit_start třeba 750000 (LIMIT 750000,40) tak se to strašně dlouho načítá (nebo vůbec).

Můžete mi prosím někdo poradit, jak mám udělat tento dotaz efektivně, abych nemusel číst všecky řádky v tabulce i když je nepotřebuji, ale aby se vypsalo jen těch 40 a rychlost byla furt stejná (co nejvyšší)??

Díky moc všem, kteří přispějí do diskuze

Odpovědi na otázku

 |   |  Microsoft Windows 7 Chrome 19.0.1084.56

Máš na sloupci id index?

Souhlasím  |  Nesouhlasím
 | Microsoft Windows 7 Chrome 19.0.1084.56

Klíčový název = Typ = Mohutnost = Akce = Sloupec
PRIMARY = PRIMARY = XXXX = id

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 Chrome 19.0.1084.56

Tak to si už moc nepomůžeš. Stránkování není moc určené na to, aby se dalo skočit i na stránku s velkým pořadovým číslem.

Souhlasím  |  Nesouhlasím
 | Microsoft Windows 7 Chrome 19.0.1084.56

Já bych řekl, že to nějak jít musí. Máš spousty webů, které mají třeba 30 000 stran a když přejdeš na stranu 23 000 tak je to stejně rychle načtené, jako když přejdeš na stranu 3

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 Chrome 19.0.1084.56

Jenže ty nepoužívají MySQL...

Souhlasím  |  Nesouhlasím
 | Microsoft Windows 7 Chrome 19.0.1084.56

A co jiného bys doporučil, pgSQL?

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 Chrome 19.0.1084.56

Třeba. Ale problémy s tím budou mít všechny databáze.
Pomoci by mohlo třeba rozdělení řádků tabulky na několik menších, pokud jsou jednotlivé řádky rozsáhlé.

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 IE 9.0

našel jsem si u sebe tabulku, která má 3,5 miliónu řádků 50MB v datech a 170MB ve čtyřech indexech a bez problémů mi to stránku (v phpMyAdminu) a dotazy se vykonávají cca 0,15s

Takže problém není v použití MySQL, ale v tom, jak je použité - tedy indexy a konfigurace (přidělení paměti) tak, aby se nepracovalo s diskem, ale vše bylo v paměti

Souhlasím  |  Nesouhlasím
 | Microsoft Windows 7 Chrome 19.0.1084.56

Index (id) má 15Mb, celá databáze má 1,6GB

Průměrná délka řádku: 1123
Průměrná velikost řádku: 1134 B

Úložiště: MyISAM

DB jede na VPSce u Wedos hosting (2 moduly VPS)

Pokud bys mi poradil, jak a co lépe nastavit, byl bych ti vděčný.
Nikdy jsem s tak velkou DB nepracoval

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 Chrome 19.0.1084.56

Kolik máš přiděleno paměti? Pokud pár (set) MB, tak se není moc čemu divit.

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 Chrome 19.0.1084.56

Tak jestli má jeden řádek 15 bytů, tak se nedivím, že to jede rychle.

Souhlasím  |  Nesouhlasím
 |   |  Microsoft Windows 7 IE 9.0

no ale o tom to taky je, že v té "velké" tabulce mám jen to minimum a zbytek připojuji z dalších tabulek, ale nemusím to dělat pro všechny záznamy, ale jen pro těch 40, co jsou na té jedné stránce

Souhlasím  |  Nesouhlasím

Související témata: Select, Optimalizace, Videos




Určitě si přečtěte

Vybrali jsme 16 programovatelných hraček a stavebnic pro děti. A vlastně i pro vás

Vybrali jsme 16 programovatelných hraček a stavebnic pro děti. A vlastně i pro vás

** Získejte děti pro matematiku a základy techniky ** Kupte jim hračku nebo stavebnici, které vdechnou vlastní život ** Vybrali jsme 16 stavebnic pro nejmenší caparty i vás samotné

Jakub Čížek | 12

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 32

E-mail zdarma - není čas změnit vaši starou adresu?

E-mail zdarma - není čas změnit vaši starou adresu?

** E-mail většina z nás za svůj život příliš nemění. ** Služby se ale vyvíjí a některé mají zajímavé funkce. ** Velkým lákadlem může být integrace do ekosystému dalších služeb.

Vladislav Kluska | 64

Zbavujeme se Googlu: vybíráme nejlepší alternativy, které nahradí jeho služby

Zbavujeme se Googlu: vybíráme nejlepší alternativy, které nahradí jeho služby

** Google nabízí spoustu služeb, ale většina z nich má i dobré alternativy ** Pokud z nějakého důvodu nechcete používat služby Googlu, nemusíte ** Připravili jsme přehled služeb, kterými lze ty od Googlu nahradit

Karel Javůrek, David Polesný | 89

Apple ukázal novinky: iPad Pro má překonat notebooky a vrací se Mac mini!

Apple ukázal novinky: iPad Pro má překonat notebooky a vrací se Mac mini!

** Apple v New Yorku představoval počítačové novinky ** iPad Pro prý zatočí s notebooky ** Dočkali jsme se také návratu Mac mini

Jakub Čížek | 81



Aktuální číslo časopisu Computer

Nejlepší programy pro úpravu fotek zdarma

Externí disky pro zálohu dat

Velký test: herní notebooky

Srovnání 12 batohů