Производительность запросов по двум базам данных mysql на одном сервере?

Есть ли какая-либо производительность, связанная с запросом более двух (или более) баз данных на том же сервере MySQL, по сравнению с тем, что эти базы данных были объединены в один?

Фон, я унаследовал обслуживание через веб-приложение, которое разбивает его данные на три разные базы данных, которые работают на одном сервере, один для контента, один для пользователей и информации о группе, а другой для пользовательских данных. Это удобно, например, упрощает настройку разрешений, пользовательские данные несколько чувствительны, поэтому люди, которым не нужно знать, не должны иметь к нему доступа. Однако одной из основных особенностей приложения является предоставление отчетов о ходе выполнения для пользователей или групп контента. Это означает, что он должен запрашивать данные из двух или более баз данных для создания отчета.

Есть ли какая-то потеря в производительности?

Нет. В MySQL «базы данных» представляют собой, по сути, только каталоги, которые не влияют на способ хранения или опроса данных.

Запрос двух таблиц в разных базах данных совпадает с запросом двух таблиц в одном и том же блоке, с точки зрения выполнения запроса.

Это приведет лишь к заметной проблеме, если вы пытаетесь использовать несколько операторов выбора для данных в каждой базе данных. Было бы лучше использовать некоторые внешние ключи, а затем использовать один запрос соединения, чтобы получить данные пользователя и связанный с ним пользовательский контент. Вы можете префикс имен схем в своих таблицах в команде select join.

пример будет аналогичен этому:

SELECT a.user, b.user_content FROM database1.table1 AS a LEFT JOIN database2.table2 AS b ON a.user = b.user_id;