Több tábla vs kevesebb tábla?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Nem biztos, hogy jól emlékszem, de úgy rémlik, hogy a mysql az adatbázisokat egy file-ban tárolja.
A file-ok sebességre optimalizálása egy elég magas szint, szerintem egy hétköznapi alkalmazás esetén a file-ok száma nagyjából mindegy.
Inkább a célszerűség / adatbázis struktúra határozza meg a használt táblák számát.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
adatbázisok külön mappa, táblák külön fájlba vannak.
Ha felhasználó adatokat tárolsz nem kell szét darabolni táblákra, csak azért mert ott a név, email, lakhely, telefon... amiből csak egy van...
De ha pl. egy webáruházat készítesz, és többféle szállítási/számlázási adatokat vihet fel a felhasználó, akkor ezeket külön adatbázisban kell tárolni és UID -vel össze kapcsolni.
Melyik a gyorsabb!?
Amikor 1 tábla van!
Ha 2 táblában vannak az adatok, hiába is van indexelve az ID, akkor is idő...
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Nincs ilyen összefüggés a táblák száma és a sebesség között. A lényeg az optimális struktúra megtalálása, és a minél kevesebb queryvel való adatbűvészkedés.
Attól, hogy bizonyos információkat külön táblában tárolsz nem lesz feltétlenül lassabb a honlap működése. Annak is van értelme, hogy minden összetartozó aatot egy táblába zsúfolsz be, de ha csak a tábla adatainak töredékére van szükség, akkor felesleges az egész táblát mozgatni folyton. Ez egyrészt sok felesleges memória, másrészt rossz struktúra miatti adattévesztéshez vezet.
Találd meg az optimális struktúrát. Minél kevesebb adattal, adatduplázások kerülésével, de optimális lekérdezésekkel több tábla is lehet gyorsabb mint egy nagy.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Drone007-el értek egyet, a táblák száma nem túl lényeges, az a fontos, hogy minél jobban meglegyen az optimum és minél kevesebb legyen a redundancia.
Erre nagyon jó példa volt annó a szakmai gyakomon a cég, ahol voltam régen. Egy adatbázisban volt 2 tábla. Kicsit átalakítottam a struktúrát és lett 3 tábla, de több, mint 300x-os volt a sebesség javulás. (Mind két esetet teszteltük, mert amikor előálltam az optimalizált verzióval nem hittek nekem elsőre...)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!