1) Выполняются ли время выполнения SQL-запросов O (n) по сравнению с количеством объединений, если индексы не используются? Если нет, то какие отношения мы можем ожидать? И может ли индексирование улучшать реальную сложность времени "большой-O", или это только уменьшает время всего запроса на некоторый постоянный фактор?
Немного неопределенный вопрос, я уверен, что это сильно меняется, но я говорю в общем смысле.
2) Если у вас есть запрос типа:
SELECT T1.name, T2.date
FROM T1, T2
WHERE T1.id=T2.id
AND T1.color='red'
AND T2.type='CAR'
Правильно ли я предполагаю, что БД сначала проверит фильтрацию отдельных таблиц на T1.color и T2.type, прежде чем оценивать условия нескольких таблиц? В таком случае сделать запрос более сложным может сделать его быстрее, потому что меньше строк подвергаются испытаниям уровня соединения?