Я использую довольно большое развертывание WPMU (Wordpress Multi-User, Wordpress Multisite), которое использует 4096 баз данных и более 100 тыс. Таблиц (очевидно, с большим количеством совпадений в том, что касается схемы).
По сути, это одни и те же 20 таблиц, которые повторяются снова и снова для каждого блога, некоторые из них пустые, другие содержат от нескольких до нескольких сотен строк.
Мой план (который избавляет от множества головных болей, но может оказаться неэффективным) - объединить все таблицы с одной и той же схемой в несколько больших таблиц InnoDB и заменить старые на MySQL VIEW, которые указывают на них, переписав запросы так, чтобы возвращаются соответствующие строки (сохраните старое имя таблицы в новом столбце, а затем используйте представление для добавления столбца в предложение WHERE).
Вопрос в том, даст ли это ЛЮБОЕ улучшение в том, что касается производительности? (эффективность ключевого буфера, эффективность кэширования таблиц, индексирование) или это просто змеиный жир, и я должен прибегнуть к более радикальному подходу переписать приложение таким образом, чтобы мне не нужны VIEW, но запросы направляются прямо в большой InnoDB таблицы?