Есть таблица relations, с полями: subordinateId, managerId, roleId, ... На ней есть индекс с полями (subordinateId, managerId) Есть запрос select subordinateId from relations where managerId = 123 Вынуждена ли БД сделать full scan - т.е. полный перебор всех записей? Вопрос со звёздочкой - а будет ли вообще использован индекс и зачем?
нихера там не ясно. зачем такие вопросы спрашивать?
ну мерзковато. предполагается что ты игрался ебался с бд чтобы делать такие выводы, но ты мог за пять лет работы с бд вообще не думать что ктото может делать такие квери, или ты просто сразу делал другой индекс. а если рисерчил этот вопрос то будешь обьяснять мудачкам вещи которые они просто не знают и они подумают что ты ебобо
Мудак в этой ситуации будет тот, кто такой индекс сделал, поставив более селективную колонку вперёд менее селективной. Кмк, здесь надо распознать неудачное решение в проектировании бд-шной структуры таблиц.
Есть таблица relations, с полями: subordinateId, managerId, roleId, ... На ней есть индекс с полями (subordinateId, managerId) Есть запрос select subordinateId from relations where managerId = 123 Вынуждена ли БД сделать full scan - т.е. полный перебор всех записей? Вопрос со звёздочкой - а будет ли вообще использован индекс и зачем?
ну я бы сказал что не сработает, потому что по первому полю нет фильтра или сортировки