Я не уверен, должен ли я добавить внешний ключ в свою таблицу, поскольку сейчас я использую только индексный ключ в INNER JOINS.
Например: у меня есть 4 таблицы.
Ad> первичный ключ ad_id
Пользователь> первичный ключ Идентификатор пользователя
Состояние> первичный ключ state_id
Город> первичный ключ CITY_ID
На моем рекламном столе.
Каждое объявление имеет seller_id и buyer_id, эти строки внутренне присоединяются к пользовательской таблице в строке пользовательских таблиц Идентификатор пользователя который является первичным ключом в этой таблице.
Каждое объявление также имеет state_id а также CITY_ID это внутреннее соединение с таблицей города / штата, где эти строки являются первичными ключами.
На данный момент я установил только эти поля в моей таблице Ad в качестве ключей индекса, после чего эти ключи индекса будут внутренним соединением с первичным ключом в другой таблице. Должен ли я также установить эти индексные ключи в таблице объявлений как внешние ключи?
Спасибо
Внешние ключи напоминают отношения один ко многим. Это не то, что у вас здесь.
Вы должны добавить индексы к столбцам, которые участвуют в предложениях WHERE, помимо ваших JOIN по первичным ключам.
Других решений пока нет …