image/svg+xml

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

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

Zobrazit bez stromu  |  nových odpovědí: 12/12
 | 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  |  [81.201.48.---]

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  |  [81.201.48.---]

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


Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

** Tesla představila elektrický kamion ** Má obdivuhodný výkon i dojezd ** Prodávat by se měl už za dva roky

17.  11.  2017 | Vojtěch Malý | 237

Dnes je Black Friday: Přehled slev na elektroniku a počítače

Dnes je Black Friday: Přehled slev na elektroniku a počítače

** Začala slevová mánie zvaná Black Friday ** Pozor, ne všechny slevy jsou opravdu výhodné ** Průběžně sledujeme slevové akce v počítačových e-shopech

22.  11.  2017 | David Polesný | 32

Google Mapy mají nový design. Líbí se vám víc než předchozí? Tady je srovnání

Google Mapy mají nový design. Líbí se vám víc než předchozí? Tady je srovnání

** Nový design Google Map přijde na počítače i mobilní telefony. ** Zaměřuje se na zvýraznění konkrétních míst, mapové podklady jsou mnohdy upozaděné. ** Lépe pracuje s chráněnými oblastmi a parky.

20.  11.  2017 | Vladislav Kluska | 30

Co je to láska? Milujeme se pouze kvůli chemickým látkám, nebo je v tom něco víc?

Co je to láska? Milujeme se pouze kvůli chemickým látkám, nebo je v tom něco víc?

** Co je to vlastně láska? Dá se vysvětlit vědecky? ** Výzkum ukázal, že zamilovaní jedinci mají mj. zvýšenou hladinu fenyletylaminu a množství testosteronu ** Je ale rozdíl mezi zamilovaností a láskou

21.  11.  2017 | Vojtěch Malý | 22