так скажем, я создаю эту систему управления контактами. Есть таблица USER и таблица CONTACT_INFO.
Для каждого ПОЛЬЗОВАТЕЛЯ у меня может быть ноль или более записей CONTACT_INFO. Как я определил, я настроил внешний ключ в своей таблице CONTACT_INFO, чтобы он указывал на соответствующую запись USER.
Я бы хотел выполнить поиск по всем записям ПОЛЬЗОВАТЕЛЯ, в которых нет записей CONTACT_INFO.
Я ожидаю, что это можно сделать:
SELECT * FROM user u WHERE u.user_id NOT IN (SELECT DISTINCT c.user_id FROM CONTACT_INFO);
Меня беспокоит то, что по мере роста таблиц производительность этого запроса может значительно снизиться.
Одна из идей, с которыми я играю, - добавить в таблицу USER столбец, в котором будет указано, есть ли в нем записи CONTACT_INFO или нет. Кроме того, мне было интересно, если после вставки какой-либо записи в CONTACT_INFO СУБД должна проверить, существует ли эта запись, она уже будет обращаться к этой записи для проверки и, следовательно, обновлять ее, когда я обновляю запись CONTACT_INFO, не следует. это дорого, с точки зрения производительности.
Как всегда, обратная связь приветствуется.