30. december 2008 - 20:21Der er
8 kommentarer og 1 løsning
Vejledning til indeksering
Jeg vil gerne gøre mine tabeller lidt hurtigere og har derfor lavet nogle indeks. Jeg har forstået det sådan, at det som hovedregel vil være fornuftigt, at lave index på de felter, hvorpå jeg anvender "WHERE" - altså "SELECT.....WHERE.felt1...". Dvs. på felt1! Men så er jeg i tvilv om nogle detaljer: Jeg anvender phpMyAdmin og vælger "Dan et indeks på [1] kolonne. Jeg vælger et tilfældigt "indeksnavn" og vælger indekstype "Index". Og så vælger jeg det ønskede Feltnavn.
Hvad skal jeg skrive i "størrelse"? Og hvis jeg nu vil lave indeks på fx. 10 forskellige felter, skal jeg så oprette 10 indeks - altså ét på hvert felt eller skal jeg "Dan et indeks på [ 10 ] kolonner" og derunder vælge de 10 felter?
Size kan du bare lade være med at udfylde for små data typer. For store data typer som BLOB eller TEXT angiver du hvor mange bytes der skal bruges i index.
Jeg har fx. en tabel, som består af ca. 40 forskellige felter og ca. 1000 poster. Jeg har så noget forskelligt PHP-kode, som laver forskelle SELECTS.
KODE 1 fx. de poster, som WHERE felt1 > 100 KODE 2 fx. de poster, som WHERE felt2 < 200
Altså 2 forskellige koder, som søger på forskellige felter. Skal jeg ikke lave indeks på både felt1 og felt2? Og da jeg har 5 forskellige koder, som søger på forskellige felter, skal jeg vel lave indeks på de felter, som der søges på, og dermed måske 5 indeks, hvis det er 5 forskellige felter, der søges på.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.