Autor | Zpráva | ||
---|---|---|---|
Petrh Profil * |
#1 · Zasláno: 3. 1. 2013, 15:20:17
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 |
#2 · Zasláno: 3. 1. 2013, 15:28:57
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 * |
#3 · Zasláno: 3. 1. 2013, 15:40:48
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 |
#4 · Zasláno: 3. 1. 2013, 16:28:02
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 * |
#5 · Zasláno: 3. 1. 2013, 16:41:54
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 |
#6 · Zasláno: 3. 1. 2013, 19:09:58
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.
|
||
Časová prodleva: 11 let
|
0