Portál AbcLinuxu, 9. června 2024 14:39

Chyba v phpMyAdminu?

15.9.2009 08:48 | Přečteno: 828× | Ostatní

Pracuji teď na jednom projektu, který má v jedné tabulce celkem dost záznamů - ano, není to žádné extrémní číslo, ve velkých projektech bych spíše řekl, že normální, nebo naopak ještě malé. Teď ale k zajímavosti, na kterou jsem narazil, a to je rozdíl počtu záznamů v databázi.

V phpMyAdminu si nechám vypsat obsah tabulky (akce Projít) s následujícím výsledkem - Zobrazeny záznamy 0 - 29 (138 181 celkem, Dotaz zabral 0.0192 sekund). Tuto činnost si pro úspěch zopakujeme, výsledek - Zobrazeny záznamy 0 - 29 (139 083 celkem, Dotaz zabral 0.0004 sekund), a znovu s výsledkem - Zobrazeny záznamy 0 - 29 (138 688 celkem, Dotaz zabral 0.0004 sekund).

Nyní provedu to samé, ale přímo v konzoli mysql. Po vykonání příkazu SELECT COUNT(`id`) FROM `tabulka`; dostávám pokaždé stejný výsledek - 138 592. Otázkou tedy je, kde se v phpMyAdminu data ztrácí, resp. přidávají. Dotaz by měl být snad téměř stejný, možná jiný, ale minimálně by měl vracet neustále stejný výsledek, pokud se s daty nijak nemanipuluje.

Chvíli jsem nad tím zkoumal, ale vůbec mne nenapadá, kde je chyba. Setkal se již někdo z Vás s podobným případem?

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

15.9.2009 08:56 Jan Trávníček | skóre: 10 | blog: ehonza | Existuje
Rozbalit Rozbalit vše Re: Chyba v phpMyAdminu?
Odpovědět | Sbalit | Link | Blokovat | Admin

Nejde náhodou o tento případ wiki.phpmyadmin.net/pma/FAQ_3.11?

To mess up a Linux box, you need to work at it; to mess up your Windows box, you just have to work on it.
Jan Drábek avatar 15.9.2009 09:23 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: Chyba v phpMyAdminu?
Odpovědět | Sbalit | Link | Blokovat | Admin

Indexy? (nedávno jsem zaregistroval, že při výpisu přes jeden index to mělo víc záznamů než přes ten druhý).

Btw. dotaz, který vygeneruje milion řádků je ještě jakžtak, ale ve chvíli kdy potřebuji provést jeden subdotaz na relativizaci určitých hodnot tak časová náročnost jde úplně do...

01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
15.9.2009 09:56 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Chyba v phpMyAdminu?
Odpovědět | Sbalit | Link | Blokovat | Admin
Problém je v tom, že SELECT COUNT(`id`) FROM `tabulka` může trvat zatraceně dlouho (u pohledů, InnoDB a v některých dalších situacích), proto se pro velké tabulky nepoužívá. Jak někdo zmiňoval viz FAQ 3.11.

Jinak nevím co používáš za verzi, ale v aktuálních verzích to vypadá takto:
Zobrazeny záznamy 0 - 29 (~16 0491 celkem, Dotaz zabral 0.0003 sekund)

1 Může být nepřesné, viz FAQ 3.11
Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
Heron avatar 15.9.2009 12:52 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Chyba v phpMyAdminu?
Odpovědět | Sbalit | Link | Blokovat | Admin
Chvíli jsem nad tím zkoumal, ale vůbec mne nenapadá, kde je chyba. Setkal se již někdo z Vás s podobným případem?

Ano setkal, je to tak jak píše Michal (hint: mrkni se na autory phpmyadmina ;-)). Velikost "velké" tabulky lze nastavit v configu:

$cfg['MaxExactCount'] = 100000;
Heron

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.