Blog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2025 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Bazy danych
Bazy danychmedium

Dlaczego `LIKE '%term%'` bywa wolne i jakie są typowe alternatywy?

Tagi
#sql#like#indexes#full-text
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Wildcard na początku (`%term`) często uniemożliwia użycie zwykłego indeksu B-tree, więc baza może skanować dużo wierszy. Alternatywy to indeksy full-text, trigramy (jeśli baza wspiera) albo zmiana zapytania na wyszukiwanie po prefiksie (`term%`), jeśli to możliwe.

Powiązane pytania

Bazy danych
Co to jest covering index (index‑only scan) i czemu bywa szybszy?
#database#indexes#covering-index
Bazy danych
Kolejność kolumn w indeksie złożonym: dlaczego ma znaczenie?
#database#indexes#composite-index
Bazy danych
Selektywność indeksu: co to jest i czemu ma znaczenie?
#indexes#selectivity#performance
Bazy danych
Co to jest write amplification i dlaczego wiele indeksów spowalnia zapisy?
#performance#indexes#write-amplification
Bazy danych
NULL w SQL: dlaczego `col = NULL` nie jest true i czego użyć zamiast?
#sql#null#three-valued-logic
Bazy danych
Dlaczego `SELECT *` bywa ryzykowne w produkcyjnych zapytaniach?
#sql#best-practices#performance