Oldal: 2 / 3 ElsőElső 123 UtolsóUtolsó
Eredmény: 11 - 20 (25) összesen

Téma: MySQL probléma

  1. #11
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    167
    Begyűjtött 97 köszönetet
    66 hozzászólásával

    Alapbeállítás re: MySQL probléma

    +1 erre a megoldásra.

    "(plusz lenne természetesen egy saját elsődleges kulcsa)"
    Ez lehet nem is szükséges, attól függ, hogy akarsz-e egy-egy ilyen párra másik táblában hivatkozni.

    Idézet Emphus eredeti hozzászólása Hozzászólás megtekintése
    A kérdésre amúgy az adabázis normálformák kifejezésnek érdemes utánakeresgélni, ami tartalmaz egy csomó bonyolult, meg egy másik csomó hasznos és egyszerű dolgot, és rengeteget segít adatbázistervezésben.



    Én ezt úgy csinálnám, mivel belső linkekről van szó, hogy csinálnék egy pages nevű táblát, amiben tárolnám az összes aloldalt adatokkal együtt (pl. url, title stb.), ezen kívül lenne egy "links" adattáblám, amiben az tárolnám, hogy melyik page-ről melyik page-re mutat link, így gyakorlatilag egy from_id meg egy to_id mező, mindkettő a pages tábla egy-egy rekordjára külső kulcsként hivatkozna (plusz lenne természetesen egy saját elsődleges kulcsa).

    Innentől kezdve (mivel ez így gyakorlatilag matroid), mátrixban meg gráfban is elég könnyű már reprezentálni az adatokat.




  2. #12
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Idézet MrWolf eredeti hozzászólása Hozzászólás megtekintése
    "(plusz lenne természetesen egy saját elsődleges kulcsa)"
    Ez lehet nem is szükséges, attól függ, hogy akarsz-e egy-egy ilyen párra másik táblában hivatkozni.
    Adatmennyiség szempontjából elhanyagolható, viszont sok apró előnyt hordoz magával az ilyesmi. Pl. egy auto incrementes elsődleges kulccsal a rendezés általában adott, összetettebb alkalmazásnál könnyebb az alapján keresni is, és kizárja a teljes rekordduplikációt is (még ha a tényleges adattartalom azonos).



  3. #13
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.815
    Begyűjtött 804 köszönetet
    572 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Ez lehet nem is szükséges, attól függ, hogy akarsz-e egy-egy ilyen párra másik táblában hivatkozni.
    Életemben egyszer akartam kikerülni, mondom megspórolok pár bájtot, csináltam helyette composite keyt. Aztán szembesültem vele, hogy a legkorszerűbb ORM-ek egyike sem támogatja. És végül visszaraktam az id-t (300 ezer sorra), ez kb 1Mb-tal növelte az egész db méretét.



  4. #14
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    167
    Begyűjtött 97 köszönetet
    66 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Nem vitaindítónak szántam, alapvetően az egyedi kulcs hasznos része az adatbázis tábláknak. Ebben a konkrét esetben azonban nem láttam, hogy bármi plusszt adna hozzá. A from_id és to_id oszlopokra egyébként is kell index, hogyha aszerint szeretne majd keresni, hogy egy-egy adott oldara és oldalról milyen linkek mutatnak.

    Idézet Emphus eredeti hozzászólása Hozzászólás megtekintése
    Adatmennyiség szempontjából elhanyagolható, viszont sok apró előnyt hordoz magával az ilyesmi. Pl. egy auto incrementes elsődleges kulccsal a rendezés általában adott, összetettebb alkalmazásnál könnyebb az alapján keresni is, és kizárja a teljes rekordduplikációt is (még ha a tényleges adattartalom azonos).



    Utoljára módosítva: MrWolf által : 2015-10-12 00:37

  5. #15
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    167
    Begyűjtött 97 köszönetet
    66 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Manapság nem érdemes pár mb-on spórolni, ez teljesen igaz. Én arra céloztam, hogy ha elvi szinten beszélünk az adatbázis tervezésről (normál formák és társai), akkor ebben a konkrét esetben az egyedi autoincrement oszlopra nincs szükség a megadott információk alapján.

    Idézet earnnet eredeti hozzászólása Hozzászólás megtekintése
    Életemben egyszer akartam kikerülni, mondom megspórolok pár bájtot, csináltam helyette composite keyt. Aztán szembesültem vele, hogy a legkorszerűbb ORM-ek egyike sem támogatja. És végül visszaraktam az id-t (300 ezer sorra), ez kb 1Mb-tal növelte az egész db méretét.




  6. #16
    Törzsvendég flaszlo logója
    Csatlakozott
    10-10-07
    Hely
    Alsópáhok
    Hozzászólás
    138
    Begyűjtött 16 köszönetet
    15 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Sohasem érdemes ezen spórolni, nem tudhatod mire szeretnéd később használni a táblát. Tovább fejlesztés stb...



  7. #17
    Törzsvendég
    Csatlakozott
    14-08-26
    Hozzászólás
    167
    Begyűjtött 97 köszönetet
    66 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Amikor egy Primary Key (elsődleges kulcs) oszlop hozzáadásra kerül egy táblához, a háttérben egy egyedi index is létrejön. Mindez azzal jár, hogy:
    - a kulcsoszlop értékei kétszer is le lesznek tárolva: egyszer a tábla oszlopában, egyszer az index-ben
    - amikor a tábla adatait módosítják (DML utasítások) az adatbáziskezelő a háttérben az indexet is karban fogja tartani, ami lassítja a módosító utasítások lefutását

    Ez az oszlop tehát azon kívül, hogy helyet foglal, a módosításokat is lassítja. Azzal nem tudok egyetérteni, hogy csak azért rakjunk be mindenhova egy ilyen oszlopot, mert egyszer az még hátha jó lesz.

    Idézet flaszlo eredeti hozzászólása Hozzászólás megtekintése
    Sohasem érdemes ezen spórolni, nem tudhatod mire szeretnéd később használni a táblát. Tovább fejlesztés stb...




  8. #18
    Törzsvendég flaszlo logója
    Csatlakozott
    10-10-07
    Hely
    Alsópáhok
    Hozzászólás
    138
    Begyűjtött 16 köszönetet
    15 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Nem baj ha nem értesz egyet, majd ha megtapasztalod, rájössz az értelmére.



  9. #19
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Idézet flaszlo eredeti hozzászólása Hozzászólás megtekintése
    Nem baj ha nem értesz egyet, majd ha megtapasztalod, rájössz az értelmére.
    Join tablaknal teljesen felesleges az autoincrement ID. De ha megis szukseged lenne ra a kesobbiekben(nem lesz, de ha tudsz peldat szivesen veszem), akkor hozza tudod adni(bar kicsit maceras).


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Ruby blog
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  10. Az alábbi felhasználók hálásak a válaszért:

    MrWolf (2015-10-12)

  11. #20
    Törzsvendég flaszlo logója
    Csatlakozott
    10-10-07
    Hely
    Alsópáhok
    Hozzászólás
    138
    Begyűjtött 16 köszönetet
    15 hozzászólásával

    Alapbeállítás re: MySQL probléma

    Idézet Geri eredeti hozzászólása Hozzászólás megtekintése
    Join tablaknal teljesen felesleges az autoincrement ID. De ha megis szukseged lenne ra a kesobbiekben(nem lesz, de ha tudsz peldat szivesen veszem), akkor hozza tudod adni(bar kicsit maceras).
    Természetesen nem az autoincrement-en van a hangsúly, hanem a primary key a fontos sok szempontból, de evvel te is tökéletesen
    tisztában vagy.



Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •