Avatar billede pcdl Nybegynder
13. maj 2008 - 18:56 Der er 1 kommentar

php + MySQL optimering af script

nogen der har en ide til at gøre dette script hurtigere ??

        while (($words < count($wordarray)) && $possible_to_find == 1) {
            if ($stem_words == 1) {
                $searchword = addslashes(stem($wordarray[$words]));
            } else {
                $searchword = addslashes($wordarray[$words]);
            }
            $wordmd5 = substr(md5($searchword), 0, 1);
            $query1 = "SELECT distinct link_id, weight, domain from link_keyword$wordmd5, keywords where link_keyword$wordmd5.keyword_id= keywords.keyword_id and keyword like '$searchword' $domain_qry order by weight desc";
            echo mysql_error();
            $result = mysql_query($query1);
            $num_rows = mysql_num_rows($result);
            if ($num_rows == 0) {
                if ($type != "or") {
                    $possible_to_find = 0;
                    break;
                }
            }
            if ($type == "or") {
                $indx = 0;
            } else {
                $indx = $words;
            }

            while ($row = mysql_fetch_row($result)) {   
                $linklist[$indx]['id'][] = $row[0];
                $domains[$row[0]] = $row[2];
                $linklist[$indx]['weight'][$row[0]] = $row[1];
            }
            $words++;
        }
Avatar billede g1mzee Nybegynder
13. maj 2008 - 19:42 #1
det er nok ikke en så god ide at have en query i en while. det bliver hurtigt til meget arbejde for serveren..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester