JOIN - это удобная функция баз данных SQL, но как насчет больших баз данных (> 10 ГБ).Рассмотрим три (две колонки) таблицы отношения «многие ко многим», так как мы хотим получить элементы, связанные с одним случаем (например, теги ОДНОЙ статьи).
ФАКТЫ (исправьте меня, если я ошибаюсь)): 1. Для JOIN три таблицы должны уместиться в памяти.2. Одиночный SELECT по ПЕРВИЧНОМУ КЛЮЧУ не потребляет память.3. Когда у нас есть много одновременных подключений для чтения, избыточное соединение будет сохраняться в очереди (без выполнения неудачного запроса или перегрузки).
Тогда не лучше ли выполнить три простых запроса SELECT.Это делает систему немного медленнее, но я считаю, что эффективнее иметь дело со всеми таблицами размером в гигабайты.
Можно предположить, что добавление большего количества является окончательным решением;но я думаю, что все еще обрабатывать такие большие таблицы нелегко с избытком оперативной памяти.
Ограничение действий простыми запросами SELECT с помощью PRIMARY KEY может быть практичным подходом для эффективной работы с большими базами данных.