Sobes.tech
Middle

Какви видове индекси има в базите данни, какви са разликите между тях и как решавате кога да ги използвате?

sobes.tech AI

Отговор от AI

В базите данни съществуват различни видове индекси, като основните са:

  • B-Tree индекс — най-разпространеният, подходящ за бързо търсене, сортиране и диапазонни заявки.
  • Hash индекс — ефективен за точно търсене по ключ, но не поддържа диапазонни заявки.
  • Bitmap индекс — използва се за колони с малък брой уникални стойности, подходящ за аналитични заявки.
  • Пълнотекстов индекс — за бързо търсене в текст.

Различия в структурата и сценарии на използване:

  • B-Tree е универсален.
  • Hash е по-бърз за точни съвпадения.
  • Bitmap е ефективен при ниска кардиналност.

Кога да се прилага:

  • Индексите се поставят върху колони, които често се филтрират, сортират или свързват.
  • Не индексирайте твърде много колони, за да не забавите операциите по вмъкване/актуализиране.
  • Анализирайте плановете на заявките, за да разберете кои индекси са необходими.

Пример в PostgreSQL:

CREATE INDEX idx_users_email ON users(email);

Този индекс ще ускори търсенето на потребители по имейл.