Iniciar sesión Registro
Anuncios
Tu espacio publicitario
Reserva este slot exclusivo para el periodo elegido.
Comprar publicidad →
Logotipo de la comunidad de telegram - Стендап Сьогодні
Añadido 06 dic. 2025

Стендап Сьогодні

@stendap_sogodni
Número de suscriptores: 564
Fotos: 181
Videos: 14
Enlaces: 1,110
Descripción:
👨‍💻 Програмування та більше. Тільки власний контент. Пости щодня. Сторінка автора: https://leonid.shevtsov.me Компанія, де він працює: https://railsware.com
Fuente

Стендап Сьогодні | Що взагалі таке індекс у базі даних?От кажу я — індекс той, індекс цей...

Logotipo de la comunidad de telegram - Стендап Сьогодні Стендап Сьогодні @stendap_sogodni
402 Vistas/Alcance 2025-12-23 21:16 Mensaje №1424
Що взагалі таке індекс у базі даних?От кажу я — індекс той, індекс цей, з тим допомагає, з тим не допомагає, а що взагалі є індекс?Дані в базі ніколи не розташовані в порядку, оптимальному для їхнього пошуку. Почнемо з того, що було б надто дорого впорядковувати дані після кожної зміни. А також, критеріїв пошуку може бути багато, а впорядкуємо ми лише під один. Та й це взагалі має сенс лише якщо записи мають рівний розмір... Одним словом, так ніхто (майже) не робить.Натомість ми робимо індекси. Індекс — це структура даних, оптимізована для певного пошуку. Нічого магічного тут немає. 99% всіх індексів — двійкові дерева. Бо в них добре шукати за точним збігом та за порівнянням. Ключами в цьому дереві є значення, за якими ми індексуємо, а значеннями — певна фізична адреса відповідного запису.(Тобто так, в кожного запису дійсно є адреса, за якою можна швидко його знайти без всякого індексу. Але вона нам ніяк не корисна.)Окрім двійкових індексів, є й більш спеціалізовані — наприклад, геопросторові індекси, за якими можна швидко знайти місця за географічними координатами. Чи повнотекстовий індекс. Але це все суто винятки.Або я писав про триграми - вони будуть у двійковому дереві, тільки побудованому за шматочками значень, а не цілими значеннями. Але все одно, інтуїція така, що індекс — це двійкове дерево за певним полем. (І тут стає питання, а що таке двійкове дерево?)