FrilanserBob Skrevet 11. september 2007 Skrevet 11. september 2007 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...
Ekko Skrevet 11. september 2007 Skrevet 11. september 2007 Mener trikset er å bruke LIKE istedenfor = slik at man kan bruke wildcards http://dev.mysql.com/doc/refman/5.1/en/str...-functions.html
FrilanserBob Skrevet 11. september 2007 Forfatter Skrevet 11. september 2007 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%')";
Ernie Skrevet 12. september 2007 Skrevet 12. september 2007 Fulltekst søk er vel kanskje noe å vurdere her?
kaffenils Skrevet 13. september 2007 Skrevet 13. september 2007 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.
roac Skrevet 13. september 2007 Skrevet 13. september 2007 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.
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå