Autor Zpráva
Petrh
Profil *
Ahoj,

zajímá mě, jak postupovat při optimalizaci datových typů a indexaci.
Mám tabulku, které obsahuje 20 sloupců, ale pro třídění používám pouze dva. Pokud bych nastavil správné datové typy pouze u dvou a zbylých 18 nechal tak, jak se nastavily při importu, bude to mít vliv na rychlost vyhledávání?

Často se stává, že lidé pro hledání používají pouze jeden filtr (z jednoho sloupce), ale také se najdou ti, kteří filtry kombinují. Otázka zní, zdali mám indexovat každý sloupec zvlášť nebo je zaindexovat do skupiny.

Poslední dotaz je k znovuindexování při změně datového typu. Pokud změním datový typ indexovaného sloupce, musím index odstranit a sloupec zaindexovat znovu?

Děkuji za informace.
Kajman
Profil
Petrh:
bude to mít vliv na rychlost vyhledávání?

Může a nemusí. Změřte, jestli ve Vašem případě ten vliv je.

zdali mám indexovat každý sloupec zvlášť nebo je zaindexovat do skupiny

Pokud se filtruje někdy podle sloupce x, někdy podle y a někdy podle jejich kombinace, udělal bych dva indexy
společný (x,y), který lze použít pro hledání obou hodnout současně i jen podle x
a pak index jen nad (y), protože ten první se nepoužije při hledání jen podle y

Pokud změním datový typ indexovaného sloupce, musím index odstranit a sloupec zaindexovat znovu?

Myslím, že to nebude potřeba.
Petrh
Profil *
Ale pokud budu mít sloupců například 6, tak těch skupin a indexů bude spousta. A to už bude mít spíše opačný vliv, nemýlím se? Bavíme se tady o databázi s miliony řádků.
Kajman
Profil
Petrh:
Ale pokud budu mít sloupců například 6

Psal jste, že pro třídění používáte jen dva sloupce. O šesti jste nepsal.

Pak už si budete muset zanalyzovat podle typických dotazů, které indexy budou vhodné nad více sloupci a zda jejich řežie nebude přílišnou zátěží.
Petrh
Profil *
Kajman:
Psal jsem vzorový příklad a snažím se zamezit problémům do budoucna, proto se ptám na 6.

Zkoušel jsem dohledat, jakým způsobem analyzovat a testovat rychlost, ale bohužel nic, čeho bych se mohl chytnou. Existuje nějaký nástroj, rady nebo "příručky", jak najít nejvhodnější řešení?

Děkuji za informace.
Kajman
Profil
Zkuste např. v knihovně mrknout na MySQL - oficiální průvodce tvorbou, správou a laděním databází. Sice je starší, ale měla by pomoci.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: