В моей таблице более 3 миллионов строк. Когда пользователь пытается вставить или обновить эту таблицу, я должен последовательно проверить следующие условия. (Бизнес-потребность)
- Имеет ли какой-либо из рядов одинаковый адрес?
- Имеет ли какая-либо строка одинаковый почтовый индекс?
- Есть ли в какой-либо строке одинаковые значения DOB?
Очевидно, что вновь вставленная или обновленная строка будет соответствовать партии записей из этой таблицы.
Но бизнес-необходимость заключается в том, что процесс сопоставления должен завершиться, когда будет найдено первое совпадение (строка) и эта строка должна быть возвращена.
Я могу легко добиться этого, используя простой запрос "SELECT". Но на поиск соответствия уходит очень много времени.
Пожалуйста, предложите какой-нибудь эффективный способ сделать это.