Я тоже отвечу Ливену.Просто чтобы ответить на ваш бонусный вопрос о том, какой прирост производительности вы получите от создания индекса, ответ будет «Это зависит».
Если одна или обе таблицы маленькие, и они являются единственными двумя таблицамив запросе прирост производительности может быть от нуля до нуля.Когда число записей невелико, иногда быстрее просто прочитать все записи, чем использовать индекс в любом случае.Механизм базы данных должен быть достаточно умен, чтобы понять это - вот что такое «оптимизация запросов».
Аналогично, если у вас есть другие таблицы и другие критерии выбора, механизм БД может принять решение не использоватьэтот индекс и какой-то другой способ поиска записей быстрее.
С другой стороны, если у вас есть две очень большие таблицы, создание индекса для поля, используемого для их соединения, может сократить время выполнения на 99% или больше.
Вот почему стоит научиться читать планы объяснения на вашем движке БД.Если запрос занимает много времени, запустите план объяснения и посмотрите, что он делает.Зачастую создание хорошего индекса может значительно улучшить запрос.