ugrás a tartalomhoz

Elsődleges kulcs számossága

duplabe · 2008. Jan. 27. (V), 22.37
MySQL témakörben lenne egy kérdésem:

Hogyan lehetséges az, hogy az elsődleges kulcs számossága kisebb, mint ahány sor van a táblában?
 
1

lehet hogy valamit félreértesz...

razielanarki · 2008. Jan. 28. (H), 09.37
ha jól értem neked a COUNT(*) és a COUNT(`id`) más értéket ad vissza?
(ez elég valószínűtlen, de ha mégis akkor vagy sérültek a lemezen az adatbázis fájlok, vagy valami hasonló hiba lehet)

inkább valószínűsítem (javíts ki ha tévedek), hogy összekevered a legmagasabb id-t a sorok számával. az id nem a sor száma, hanem csak egy azonosító aminek az értékei lehetnének akár az abc betűi visszafele is, mindaddig amig egyértelműen beazonosítanak egy adott rekordot.
2

re

duplabe · 2008. Jan. 28. (H), 13.50
A számosságot a phpmyadmin írja ki. Alapvetően tisztában vagyok az adatbázisokkal, ezért is kérdeztem meg itt a dolgot, mert nem értem. Az adatbázis minden bizonnyal rendben van, két helyen is ugyanezt írja (szolgáltató szerveren és a saját gépemen is). Lehet, hogy a myadmin bénázik valamit?
3

Myadmin

Ronyn · 2008. Jan. 28. (H), 15.10
Gondolod hogy a myadmin hibázása a valoszinü?
4

Nem pontos szám

Rici · 2008. Jan. 28. (H), 15.18
Amikor a táblák listáját kérdezed le, a "sorok száma" oszlop nem feltétlenül pontos. Lásd a dokumentációban.
5

sorok száma

duplabe · 2008. Jan. 28. (H), 21.17
De ha select * from tablanev-vel kerdezem akkor is ennyi a sorok száma, ami már biztos pontos. Meg ez a becsült szám dolog gondolom akkor jön elő, amikor már sok rekord van a táblában, itt viszont alig van pár száz. És soha nem annyi, mint amennyit a phpmyadmin kiír az elsődleges kulcs számosságaként... Nyomtam a táblákra ellenőrzést (check status) és mindent redben talált, működik is minden rendesen, de azért engem mégis zavar a dolog...

Raktam fel 3 screenshotot: az elsőn van a két tábla, az egyikben 586, a másikban 103 sor van, miközben a kulcsok számossága 619 és 87...

http://images.netbag.hu/20080128/20125266495.jpeg
http://images.netbag.hu/20080128/20125439726.jpeg
http://images.netbag.hu/20080128/20160899690.jpeg
6

az innodb számosság csak becslés

razielanarki · 2008. Jan. 28. (H), 21.55
kicsit jobban rákerestem a jelenségre és a következőt találtam:

strange behavior with innodb and phpmyadmin:
"Ez azért történik mert a számosság csak becslés az InnoDB táblákon a tárolási eljárás sajátosságai miatt"

bővebben a miértet itt találtam (angolul): Restrictions on InnoDB Tables (keress rá a cardinality szóra, kb az oldal felénél lesz)

(edit: ohh látom már lemaradtam, de legalább tanultam valamit :)
7

Köszönöm

duplabe · 2008. Jan. 28. (H), 23.52
Akkor megnyugodtam, hogy a hiba (ami nem is hiba :)) nem az én készülékemben van. Köszönöm!