sql >> Databasteknik >  >> RDS >> Mysql

Vad är ett fulltextindex och när ska jag använda det?

I databaser används vanligtvis index för att förbättra prestanda när man letar efter något som definieras i din where-klausul. Men när det gäller att filtrera viss text, t.ex. använder något som WHERE TextColumn LIKE '%searchstring%' då går sökningar långsamt, eftersom hur vanliga databasindex fungerar är optimerade för matchningar mot "hela innehållet" i en kolumn och inte bara en del av den. Specifikt kan LIKE-sökningen som innehåller jokertecken inte använda någon form av index.

Som nämnts i kommentaren nedan behöver MySQL MATCH () ... AGAINST syntax för att söka inom ett fulltextindex; BTW detta varierar beroende på databasleverantören. I MS SQL kan du använda CONTAINS så tänk på detta när du planerar att stödja andra databaser också.

Fulltextindex fungerar bättre för vanlig text, eftersom de är optimerade för denna typ av kolumner. Mycket förenklat:De delar upp texten i ord och gör ett register över orden och inte hela texten. Detta fungerar mycket snabbare för textsökningar när du letar efter specifika ord.



  1. Fylla händelser i fullständig kalender javascript från databasen

  2. Hur hittar man de privilegier och roller som ges till en användare i Oracle?

  3. Använda en Alias-kolumn i where-satsen i ms-sql 2000

  4. SQL Server Databas Snapshots -3