Gå til innhold

Anbefalte innlegg

Skrevet

La oss si at jeg i en database har en tabell kalt tekst_innhold, med kolonnen tekstliste. I tekstliste ligger følgende to rader blant andre: "banan" og "banan er en frukt"

 

Hvis jeg bruker SELECT * FROM tekst_innhold WHERE tekstliste="banan"; får jeg bare opp det feltet som inneholder banan, men ikke det om at banan er en frukt. Hvordan bør jeg utforme SELECT stringen sånn at jeg får begge? Tekstene er bare et eksempel, er ikke banan og banan er en frukt jeg skal bruke i virkeligheten da men...

Videoannonse
Annonse
Skrevet
Takk for tipset. Det gjorde at jeg, etter å ha søkt litt rundt, fant fram til følgende kode som virker;

$query = "SELECT * FROM table WHERE (productcode LIKE '%$keywork%')";

9472340[/snapback]

 

Bare vær klar over at dette wildcardsøket medfører index-scan istedet for index-seek hvis du har indexert productcode. Dette betyr at hver eneste rad i indexen må leses og sammenliknes med søkestrengen.

Skrevet
Bare vær klar over at dette wildcardsøket medfører index-scan istedet for index-seek hvis du har indexert productcode. Dette betyr at hver eneste rad i indexen må leses og sammenliknes med søkestrengen.

9484897[/snapback]

Hvilket er grunnen til at jeg i likhet med Ernie mener at fulltekstsøk bør vurderes. Hvis det ikke kommer noe særlig med data så er fulltekstsøk bortkastet, men for en del data vil det etter hvert gå vesentlig raskere med fulltekstsøk.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...