Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Коли Hash-індекси ефективніші?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Hash-індекси ефективніші, коли запити звертаються до даних **за точним збігом ключа**, а не за діапазонами чи сортуванням: пошук за рівністю (`=`), запити з `IN`/`NOT IN`, таблиці з великим обсягом даних і унікальними ключами (`UUID`, `email`, `token`) та висока частота точкових запитів при рідкісних змінах структури. **Ключове:** неефективні для діапазонних умов (`>`, `<`, `BETWEEN`), сортування (`ORDER BY`) і групування (`GROUP BY`), бо hash-індекс не знає, де «сусідні» значення, і не вміє обробляти діапазони чи порядок.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняHash-індекси ефективніші, коли запити звертаються до даних **за точним збігом ключа**, а не за діапазонами чи сортуванням. ### Ефективні випадки 1. **Пошук за рівністю (**`=`**)** Наприклад: ```sql SELECT * FROM users WHERE email = 'test@mail.com'; ``` Тут Hash-індекс знайде значення миттєво - обчислить хеш і стрибне прямо до потрібного запису. Це швидше, ніж у B-Tree, де потрібно пройти кілька рівнів дерева (`O(log n)`). 2. **Запити з операторами** `IN` **і** `NOT IN` ```sql SELECT * FROM users WHERE id IN (1, 5, 7, 9); ``` Кожен `id` шукається напряму за хешем - швидко й незалежно. 3. **Таблиці з великим обсягом даних і унікальними ключами** Наприклад, пошук за `UUID`, `email`, `token`, `session_id` - значення розподілені випадково, і хеш-індекс справляється краще, ніж дерево. 4. **Висока частота точкових запитів за рідкісних змін структури** Hash-індекси добре працюють у системах, де дані читають частіше, ніж змінюють (наприклад, кеш-таблиці, lookup-таблиці в аналітиці, Redis-подібні сценарії). ### Неефективні випадки - діапазонні умови (`>`, `<`, `BETWEEN`), - сортування (`ORDER BY`), - групування (`GROUP BY`). Hash-індекс не знає, де «сусідні» значення, тому він не вміє обробляти діапазони й порядок. **Підсумок:** Hash-індекс ефективніший, коли потрібно **знайти конкретне значення за ключем швидко й точно**, а не коли потрібно «порівнювати, сортувати чи групувати».Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.