Názor k článku Využití databázových indexů od Miloslav Ponkrác - S prominutím, ale chápete význam toho, co čtete?...

  • Článek je starý, nové názory již nelze přidávat.
  • 22. 7. 2003 18:51

    Miloslav Ponkrác (neregistrovaný)

    S prominutím, ale chápete význam toho, co čtete? Já Vám to zkusím vysvětlit:

    1) MySQL vám umožňuje zvolit si z několika možností uložení data na disk. Říká se tomu typ tabulky:

    a) MyISAM - klasika, každá tabulka je v samostatných souborech, databáze je v samostatném adresáři, bez podpory trasakcí, bez podpory cizích klíčů

    b) InnoDB - přístup moderních relačních databází, tj. máte datové spaces, kde je všechno nějak vnitřně uloženo, je rychlejší, než při použité MyISAM, podporuje transakce se všemi náležitostmi, podporuje cizí klíče a mnohé další, i další věci jsou zde mnohem propracovanější

    c) BerkeleyDB - podobné jako u InnoDB, ale nabízí jen zamykání po stránkách

    d) Některé další typy, nechám na Vaše samostudium.

    Co tím chtěli tedy soudruzi z MySQL říci? Že pokud si vyberete InnoDB, tak máte cizí klíče a spoustu dalšího. Pokud si vyberete MyISAM, tak tím sám sobě říkáte, že chcete oželet transakce a cizí klíče. Je to jen Vaše volba. Tabulky MyISAM jsou tam hlavně z toho důvodu, abyste byl kompatibilní se staršími verzemi databází, jinak řečeno, pokud použijete data uložená před třeba šesti lety, abyste je pomocí MySQL byl schopen přečíst a třeba přeimportovat do InnoDB. A to, že si MySQL vývojáři dají za závazek, že na MyISAM ještě dodělají cizí klíče, to je to, co psali v textu, který citujete. Psali, že ve verzi 5.1 budou cizí klíče pro "VŠECHNY TYPY TABULEK".

    Pro jistotu píšu, že se jednotlivé typy tabulek dají navzájem kombinovat. Můžete mít v jedné databázi tabulka různých typů.

    Čtenáři nechť si udělají závěr sami. Dávám k dispozici pouze fakta.