Каков самый быстрый способ вывести данные из нескольких таблиц Mysql в одном списке с сортировкой по определенному полю?
Добрый день, коллеги!
Вопрос из разряда highload проектов. Есть 4 сервера mysql и каждый хостит 1 таблицу с данными. Четыре сервера и четыре таблицы. Все таблицы имеют разную структуру, но есть общие поля, такие как "Номер", "Название" или "Дата". Эти поля используются для сортировки данных.
Каков будет, по вашему опыту, самый быстрый способ вывести 10 позиций в общем числе из всех четырех таблиц, сортируя их данные по полю, например, дата?
выкинуть 4 сервера, оставить один
сделать единую таблицу с полями "Номер", "Название" или "Дата", название и идентификатор в другой таблице
сделать нужную выборку из этой таблицы
подгрузить данные из доп таблиц по ид
Не вижу ни малйешей проблемы в 1000 запросов в сек. на одном сервере.
Когда количество превысит 10000 запросов, балансить на один слейв
но сначала уволить сисадмина который придумал монстра из 4 серверов под детскую нагрузку
Хочу уточнить.
Этот кадавр имеет одну точку входа, или каждая таблица в основном сервит свой сайт, а запрос ко всем 4-м - это уже дополнительна фнукциональность?
FanatPHP, можно это представить как №1 сервер для nginx+mysql+php-fpm+redis и сервера №№2-3-4-5 с mysql только для этих четырех таблиц, каждая из которых хранит записи своего раздела одного сайта. 4 раздела = 4 таблицы на 4х серверах. Каждая таблица со своими миллионами записей.