Avatar billede Mik2000 Professor
14. januar 2011 - 14:29 Der er 1 løsning

Søgning med PHP

Hej

Jeg har i en tidligere tråd fået at vide det er en dårlig ide at benytte
SELECT * FROM tabel WHERE felt LIKE '%navn%'
fordi det kræver mange ressourcer.

Men hvad er alternativerne så hvis man skal søge efter noget, hvor det også må være en del af navnet.
.... og det giver sig selv det jo i så fald ikke skal kræve for mange ressourcer
Avatar billede intenz Novice
14. januar 2011 - 14:48 #1
'kræve for mange ressourcer' kan betyde mange ting. Hvis du bare har et par 100 eller 1000 rækker med et varchar felt du skal gøre i, bør det ikke kræve så meget.

Udover det kan du forsøge et lave nogle søge tabeller (klip alle ord ud, og læg et ord per række i søgetabellen, som peger på ID nummer ordet tilhører). Det er tidskrævende at sætte op, men er nemmere/mere effektivt at indeksere.

Ellers kan FULLTEXT hjælpe dig:
http://devzone.zend.com/article/1304

Løsningsvalg afhænger af antallet af rækker, om de er varchar eller text i databasen, og hvor tit de ændrer sig/nye kommer til.
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