Взгляните на этот ответ по WPSE: https://wordpress.stackexchange.com/questions/2825/wordpress-sharding-which-multi-db-plugin-to-use
Тем не менее, большая база данных по своей природе не является плохой вещью.Что это плохо, однако это неоптимизированная база данных , раздутая база данных (многие плагины просто сбрасывают данные (часто это таблицы postmeta или options) и неоптимизированные запросы к базе данных .
Есть несколько плагинов для Оптимизации БД, которые я бы сначала посмотрел, используя их, или просто покопался в них вручную. Убедитесь, что таблица опций максимально проста, и сделайтеуверен, что все потерянные данные (например, мультимедийные изображения, которые больше не имеют родительского поста и нигде не ссылаются) были удалены. Я видел, что плагины оставляют внутри сотни мегабайт всех данных, кроме бесполезных данныхтаблица параметров. И когда она загружается при каждом запросе страницы, сайт переходит в состояние, похожее на патоку.
С чисто анекдотической точки зрения я сейчас работаю над рефакторингом медленного /раздутый сайт десятилетней давности. Он использовал тонну плагинов, база данных содержала тонны дублирующейся информации в многочисленных таблицах, было много мета запросов (которые НЕ индексируются и не обрабатываются ключами и, следовательно, невероятно медленно работают на больших сайтах), а в таблице параметров хранится множество бесполезных / устаревших параметров.
Новый сайт заполнен до краевсо 100% жизнеспособными тестовыми данными, и база данных сейчас находится на уровне 3 или 4 гигабайт.Дело в том, что мои таблицы оптимизированы, столбцы соответствующим образом проиндексированы, и у меня даже есть пользовательские реляционные таблицы записей, связывающие типы записей вместе.У меня там около 450 000 постов разных типов, и, используя простые запросы с классом $wpdb
, он может просеивать и загружать десятки или сотни постов за доли секунды, не взрываяиспользование памяти.
Сложно то, что вы почти наверняка должны взглянуть на оптимизацию и обрезки вашей базы данных, прежде чем подумать о разделении / разбиении вашей базы данных.
Другим вариантом может стать улучшение вашего оборудования, а именно наличие хост-компьютера и компьютера базы данных, которые по своей сути улучшат производительность, поскольку каждая машина может быть оптимизирована под текущую задачу, а не совместно использовать ресурсы, в которых она не нуждается..
Вот простой скриншот одного из моих запросов.Это страница, загружающая 200 пользовательских типов записей из таблицы с 450 000 записей в ней.Каждый пользовательский тип записи связан с 0-20 другими типами записей, и один даже связан с 1500 другими типами - и все же он загружается почти мгновенно, несмотря на то, что он еще не полностью оптимизирован.