Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Co to jest indeks pełnotekstowy i kiedy należy go używać?

W bazach danych indeksy są zwykle używane w celu zwiększenia wydajności podczas szukania czegoś zdefiniowanego w klauzuli where. Jednak jeśli chodzi o filtrowanie jakiegoś tekstu, np. używając czegoś takiego jak WHERE TextColumn LIKE '%searchstring%' wtedy wyszukiwania są powolne, ponieważ sposób działania zwykłych indeksów bazy danych jest zoptymalizowany pod kątem dopasowań do „całej zawartości” kolumny, a nie tylko jej części. W szczególności wyszukiwanie LIKE, które zawiera symbole wieloznaczne, nie może korzystać z żadnego indeksu.

Jak wspomniano w poniższym komentarzu, MySQL potrzebuje MATCH () ... AGAINST składnia do wyszukiwania w indeksie pełnotekstowym; BTW różni się to w zależności od dostawcy bazy danych. W MS SQL możesz użyć CONTAINS więc miej to na uwadze, gdy planujesz obsługiwać również inne bazy danych.

Indeksy pełnotekstowe działają lepiej dla zwykłego tekstu, ponieważ są zoptymalizowane dla tego typu kolumn. Bardzo uproszczone:dzielą tekst na słowa i tworzą indeks na słowach, a nie na całym tekście. Działa to znacznie szybciej w przypadku wyszukiwania tekstowego podczas wyszukiwania określonych słów.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dołącz do nas w Amsterdamie na spotkanie z OptimaData i vidaXL

  2. Znajdowanie wolnych miejsc w systemie rezerwacji

  3. Jak zmienić sekundy na wartość czasu w MySQL?

  4. Łączenie się z bazą danych Mysql za pomocą C# - potrzebujesz trochę z zestawami danych

  5. Jak mogę wyświetlić czas zapytania w Perl, DBI?