Что лучше одна общая таблица или несколько маленьких

OlegOleg1980

Новичок
продолжу тему.
Ломаю голову над архитектурой БД, такие же вопросы - разделять на несколько таблиц данные или все таки в одной работать...
Несколько сущностей свел в один класс, это не сложно, есть поля параметров сущностей, которые имеют разные информативные значения в зависимости от типа сущности, т.е. поле param1 в одном случае это метры, в другом литры, и т.п.
Определение типа сущности производится по полю type, в принципе вопросов то нет особых, но...
1. остается вопрос с нагрузкой - как быть если записей несколько миллионов? а я думаю их будет больше.... если бить данные на разные таблицы, то количество обрабатываемых записей будет соответственно меньше (будет обрбатываться одна таблица с одной сущностью, а не все в одной), но тогда у меня возникает вопрос с полнотекстовым поиском - его нужно всегда делать по всем таблицам. Т.е. логика такая - на форме есть поле для полнотекстового поиска и есть фильтры для выбора параметров сущностей, в том числе можно ограничить поиск данных фильтром по одной или нескольким сущностям, но полнотекстовый поиск всегда должен вестись по всем данным. не могу понять как это реализовать...
2. вопрос по выводу - как организовать в случае разбиения по нескольким таблицам вывод данных из разных таблиц отсортированных по одному одинаковому полю, по дате например, или по id ?? нужно чтобы выбранные данные из нескольких таблиц смержились в одну и там уже сортировались...
3. очень много фильтров по полям стоит - более 10 - поэтому не совсем понимаю как избежать этого - опять бить на разные таблицы? ибо если в запрос втыкать все AND то при большом количестве записей да еще и полнотекстовом поиске он выполнится только к утру следущего дня, хотя я планирую воткнуть Сфинкс на фултекст+Энжинкс во фронт+Apache на бэк+memcashed (+возможно Postgree) и это все на VPS под Debian7. Посоветуйте как правильнее сделать поиск с большим количеством условий по полям таблицы?
4. вопрос по индексам - какие поля индексировать и как правильнее - по каждому полю с условием нет смыла ставить индекс - прироста производительности не будет особой, т.к. повторюсь полей таких более 10, а делать общие индексы для нескольких полей тоже не очень понятно по какому критерию.... я в раздумьях..

Спасибо, если что не очень понятно, могу пояснить.
 

Фанат

oncle terrible
Команда форума
Темы надо не продолжать, а начинать.
Люди, которые откроют топик, будут читать сразу твой вопрос, а не пролистывать тонны устаревшей переписки.
При желании можно сослаться на исходную тему для справки.

По вопросу - в поиск по словам EAV и Mongo
Все уже обсасывалось сто раз.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
хотя я планирую воткнуть Сфинкс на фултекст+Энжинкс во фронт+Apache на бэк+memcashed (+возможно Postgree) и это все на VPS под Debian7.
Человек, который не знает, как правильно называются инструменты, которые он "планирует" "использовать", воткнёт себе только вилы в ногу.
 
Сверху