Názor k článku Využití databázových indexů od sasa - Chtel bych doplnit informaci ohledne malohodnotovych atributu a...

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

    sasa (neregistrovaný)

    Chtel bych doplnit informaci ohledne malohodnotovych atributu a jejich indexace. Pokud podle malohodnotoveho atributu budete vyhledavat, neprinese indexace tohoto atributu zadne zrychleni. Pro takove atributy umi nektere databaze (Oracle) vytvaret "binarni" indexy.
    Dalsi poznamka se tyka pouzivani prikazu select a rychlosti odezvy. I presto, ze budete mit zvolene dobre indexy, vyhnete se pouzivani vnorenych selektu. Zpomaleni neni citelne na ucebnicovem prikladu, ale na databazi s mnoha set zaznamy obzvalste pri spojeni vice tabulek. Podobna poznamka plati pro rozsahle where podminky s operatorem "or" nad vice tabulkami.
    Dalsi poznamka se tyka tabulek, kde je index nad vetsinou atributu. Napriklad tabulka obsahuje ctyri atibuty: tri ideca (cizi klice) a jednu hodnotovy atribut. Pokud se k tabulce pritupuje zaroven s omezenim na vsechny tri cizi klice, je zbytecne po nalezeni zaznamu v indexu jit pro hodnotu do tabulky. K urychleni pritupu k takovym tabulkam exituji specelni struktury (v Oracle se jmenuji "index table") uchovavajici hodnotu primo v klici.

    Posledni poznamka je navrhem na problem s databazi squid logu. Prochazeni milionu zaznamu bude pochopitelne pomalejsi nez select nad desitkami zaznamu. Proto se nabizi pouziti datoveho skladu a z primaprni tabulky podle zamyslenych statistik vysumovat data do nove vytvorene tabulky (tabulek). Tato operace se da presunout na nocni hodiny a bezne denni prochazeni a statistiky jsou pak mnohonasobne rychlejsi.