@drqqv

Как быстро найти совпадение в базах?

Добрый день, хочу спросить у более опытных людей совета. Есть куча баз данных, во всех лежат одни и те же таблицы с разной информацией. В одной из таких таблиц лежит информация о пользователях. У меня есть номер телефона и мне надо быстро определить в какой базе и в какой таблице он находится. Как это можно реализовать ? Буду благодарен всем советам, идеям :)

Буду писать на python.
Пока в мыслях только создать цикл for в котором перебираются название баз данных и идет поиска по таблице
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akina
Сетевой и системный админ, SQL-программист.
SELECT *, 'db1' AS dbasename
FROM db1.tablename
WHERE phone = '123-45-67'
UNION ALL
SELECT *, 'db2'
FROM db2.tablename
WHERE phone = '123-45-67'
UNION ALL
...

Если список баз не фиксирован и должен формироваться в рантайме - то хранимая процедура с запросом по INFORMATION_SCHEMA.TABLES и динамическим SQL.
Ответ написан
Комментировать
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
либо цикл for в котором перебираются название баз данных и идет поиска по таблице
либо навести один раз порядок в этом бардаке
например, если это multi-tenant приложение, то запрашивать не только логин и пароль, но и приложение, например в виде субдомена.
при текущей структуре ничто не мешает появлению одного и того же пользователя в разных базах
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы