Не трябва да има значителна разлика в производителността между множество таблици в една база данни спрямо множество таблици в отделни бази данни.
В MySQL базите данни (стандартният SQL използва термина "схема" за това) служат главно като пространство от имена за таблици. Базата данни има само няколко атрибута, напр. набора от символи и сортиране по подразбиране. И това използване на GRANT
прави удобно да се контролират привилегиите за достъп за база данни, но това няма нищо общо с производителността.
Можете да получите достъп до таблици във всяка база данни от една връзка (при условие, че се управляват от същия екземпляр на MySQL Server). Просто трябва да квалифицирате името на таблицата:
SELECT * FROM database17.accounts_table;
Това е чисто синтактична разлика. Това не трябва да има ефект върху производителността.
По отношение на съхранението, не можете да организирате таблици във файл на база данни, както спекулира @Chris. С механизма за съхранение MyISAM винаги имате файл за всяка таблица. С механизма за съхранение InnoDB имате или един набор от файлове за съхранение, които обединяват всички таблици, или пък имате файл за таблица (това е конфигурирано за целия MySQL сървър, а не за база данни). И в двата случая няма предимство или недостатък в производителността при създаването на таблиците в една база данни спрямо много бази данни.
Няма много конфигурационни параметри на MySQL, които работят за база данни. Повечето параметри, които влияят върху производителността на сървъра, са в обхвата на целия сървър.
По отношение на архивирането, можете да посочите подмножество от таблици като аргументи за mysqldump
команда. Може да е по-удобно да архивирате логически набори от таблици за база данни, без да се налага да наименувате всички таблици в командния ред. Но това не трябва да има разлика за производителността, а само удобство за вас, докато въвеждате командата за архивиране.