8
« kdy: 01. 04. 2010, 22:12:43 »
Slozeny index funguje bez potizi v pripade, ze se take podle nej vyhledava nebo joinuje. Problem nastava napr. kdyz mame slozeny klic napr ze dvou sloupcu a provadime join pres klic druhy v poradi. V takovem pripade muze optimalizator index vyuzit, ale taky nemusi, nekdy ani hint nepomuze. Paklize joinujeme pres prvni z dvojice klicu, tak optimalizator ma vetsi vuli index pouzit, takze s ohledem na tuto skutecnost je dobre uvadet poradi polozek v klici podle dulezitosti.
Pridavat sloupec s dalsim id a ten mit jako primarni klic jenom proto, ze mam ztrach ze slozenych klicu, zejmena kdyz je slozeny pouze ze dvou hodnot, mi neprijde moc vhodne. Budes mit slozeny unique index a jeste se ti bude tvorit index nad id sloupcem. V pripade velkeho mnozstvi insertu budou dva indexy zbytecne brzdit. To uz je lepsi udelat index nad tim druhym sloupcem, paklize podle nej minim nekdy vyhledavat. Samozrejme moznost tvorby vlastni primarniho klice nezavrhuju, jen je treba mit pro to padnejsi duvody, ty ale nejak marne hledam u tabulky s primarnim klicem o dvou polich...