sql >> Databasteknik >  >> RDS >> Sqlserver

Blandade frågor mot fulltextindex

Jag tror inte att du ska uppleva några problem om jag förstår din fråga rätt. Jag kombinerar ofta fulltext och b-tree med bra resultat. När fulltextsökningen utförs, tittar den på varje avgränsad "term" som ett index, precis som det skulle göra en indexerad kolumn med bara en term (ge eller ta lite SQL-statistik). Oavsett vilket måste SQL ta reda på dess exekveringsväg. Fulltextsökning gynnar inte att jämföra heltals-/datumvärden – mer för att matcha strängar av avgränsade data.

Jag kan tänka mig att du skulle vilja fortsätta använda effektiviteten i b-tree-konceptet till din fördel. Sökningen i fulltextkatalogens index förefaller mig vara en mycket mer avrundad sökning, men mycket mer fördelaktig i situationer med "LIKE" för att analysera/jämföra strängar.

Det jag gör är:

 SELECT * FROM MyTable
  WHERE CONTAINS(columnName, '"Toy Dog" OR "live animal"')
    AND start_date > ###;

(se denna msdn-artikel för syntaxinformation )

P.S. När du indexerar heltalsdata i fulltext, stäng av stopplistan så att dessa värden inte ignoreras i katalogindexeringen.

Hoppas något av det hjälper! (Ingen har svarat så jag tänkte ge min erfarenhet)




  1. Hur man laddar upp bilder till MySQL-databasen med PHP-kod

  2. Sorterbara UUID och åsidosättande ActiveRecord::Base

  3. Vilket är bättre sätt att skriva PHP-kod för att infoga data

  4. Vad är det enklaste sättet att rensa en databas från CLI med manage.py i Django?