Hej, Svar 1: Svårt att säga men ett vanligt index borde vara snabbare eftersom det handlar om så lite text i varje fält. Det är ju bara efternamn menar jag. För att försöka besvara på din fråga om varför du inte får nån träff på t.ex. bergkvist när du kör CONTAINS(efternamn, 'berg*') så skulle jag säga att du nog ska testa att köra CONTAINS(efternamn, '"berg*"') istället. Finns mer att läsa om det här: http://msdn2.microsoft.com/en-us/library/ms187787.aspx (kolla speciellt vid <prefix_term>)Indexering av text kolumn
Jag har en tabell i databasen där en kolumn innehåller efternamn (ca 1,5 miljoner rader)
När man från en sp (eller Query analyser) gör en select namn, efternamn from person where efetrnamn LIKE 'Berg%' tar detta (naturligtvis) ganska lång tid.
Jag har gjort en fulltext indexering av kollumnen men resultatet blir inte riktigt som jag vill ha det...
Jag gör min select med CONTAINS(efternamn, 'berg*') och FREETEXT(efternam, 'berg*') men jag får bara träffar på exakta träffar av berg dvs inte bergkvist, bergström etc.
Fråga 1:
Om jag gör ett "vanligt" index (och tar bort fulltextindexet) kommer selecten med LIKE att gå fortare eller fungerar inte indexet på textfält när man använder LIKE?
Fråga 2:
Vad finns det för andra sätt att snabba upp sökningen på när man vill får träffar som berg, bergström, bergkvist etc när man söker på berg
// DavidSv: Indexering av text kolumn
Svar 2: SQL-server sköter det själv ganska bra så mitt omedelbara svar är att helt enkelt hotta upp maskinen lite (mer minne, processor o s v).
//Mikael SandSv: Indexering av text kolumn
Sen när du kör FREETEXT så tror jag att du ska ta bort stjärnan helt och hållet. http://msdn2.microsoft.com/en-us/library/ms176078.aspx
Mvh
Martin