Middle
Какви видове индекси има в базите данни, какви са разликите между тях и как решавате кога да ги използвате?
sobes.tech AI
Отговор от AI
В базите данни съществуват различни видове индекси, като основните са:
- B-Tree индекс — най-разпространеният, подходящ за бързо търсене, сортиране и диапазонни заявки.
- Hash индекс — ефективен за точно търсене по ключ, но не поддържа диапазонни заявки.
- Bitmap индекс — използва се за колони с малък брой уникални стойности, подходящ за аналитични заявки.
- Пълнотекстов индекс — за бързо търсене в текст.
Различия в структурата и сценарии на използване:
- B-Tree е универсален.
- Hash е по-бърз за точни съвпадения.
- Bitmap е ефективен при ниска кардиналност.
Кога да се прилага:
- Индексите се поставят върху колони, които често се филтрират, сортират или свързват.
- Не индексирайте твърде много колони, за да не забавите операциите по вмъкване/актуализиране.
- Анализирайте плановете на заявките, за да разберете кои индекси са необходими.
Пример в PostgreSQL:
CREATE INDEX idx_users_email ON users(email);
Този индекс ще ускори търсенето на потребители по имейл.