19. juli 2004 - 12:05Der er
12 kommentarer og 1 løsning
full table scan
Jeg har haft et site kørende i et stykke tid uden problmer, men lige pludselig kommer der en fejlmeddelelse: warning mysql_query() Your query requires a full table scan. den viser dog stadig den data der hentes i databasen. Så enten skal jeg have slået den warning fra, eller finde ud af hvad en full query scan er? hvis der er nogen der ved hvorfor problemet opstår vil jeg også meget gerne høre det.
Her er min meget simple sql: $strSQL="SELECT xpos, ypos, div_name, display FROM text WHERE page_id='$page_id'"; hvad skal der helt præcist gøres ved den? jeg har ikke lige arbejdet med indexering før
primærnøglen er text_id. Er det så text_id og ikke page_id jeg skal oprette indexet på? for at slå warnings i mysql fra, skal jeg have fat i dem der hoster min side, så der kan blive ændret i php.ini ikke?
For at løse problemet med den viste query, så er det page_id du skal have index på.
Det er dog altid en god ide også at have et index på den primære nøgle (er iøvrigt et krav hvis man vil bruge autogenerede nøgler).
Alle søgninger hvor du ønsker at optimere søgetiden på, kan du tilføje index på de relevante tabeller udfra flg.: * alle felter hvor der søges på præcis match (med = og ingen wildcards!) skal felterne placeres først i indexet. * hvis du har order by på andre felter, kan du evt tilføje dem i indexet i samme rækkefølge som i order by.
Det er dog altid en afvejning med index, da jo flere index du tilføjer til en database, jo hurtigere kan den søge ting frem, men jo længere tid tager det at tilføje/opdatere records.
Nu har jeg oprettet indexet på page_id og får nu fejlen: PHP has encountered an Access Violation at 02030AFD. Kan det være mit webhotel der har lavet om i konfiguraionen?
Jeg har lige snakket med Azero og det er hos dem der er sket en fejl med deres MySQL server. Men tak for inputs, og jeg fik da lige lært lidt om index ;-)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.