Вопрос по струтуре БД
max_rip 06.04.2014 21:11
Есть база объектов недвижимости, на данный момент сами объекты состоят из двух таблиц:
1 - цифровые данные
2 - текстовые данные(для разных языков, хотя за 4 года использования используется всегда 1)
У заказчиков поля разнятся, некоторые хотят много, некоторые мало, пока что это все регулировалось простой таблицей на диске, в которой описывались эти поля и добавлялись соответствующие в БД.
Но новый заказчик, решил сделать из это БД нечто большое, чем просто для сайта но и для внутренней работы, количество полей выросло и будет расти, и каждый тип недвижимости тянет за собой свои поля, раньше эти поля унифицировались, а уникальность писалась в текстовое описание.
Теперь же вопрос как лучше продолжить работу, просто увеличивать ширину таблицы и просто делать выборки с нужными полями или же вынести все эти опции в отдельную таблицу и хранить все там,например в umicms они вообще все данные всей цмс хранят в такой таблице.
Она имеет в себе самые распространенные поля, цифровое целое, цифровое с плавающей запятой, текстовое, логическое, text, все уже не помню.
Такой подход мне кажется оптимальным для полного управлений данными и полями из вебинтерфейса для конечного пользователя.
Но во всей такой структуре меня смещает фильтрация и выборки. Получается, для фильтрации надо сделать сначала кучу запросов чтобы понять, что надо показывать. Потом выбрать эти данные по ID с лимитами и потом по этим айди выбрать все опции.
Получается куча запросов, а в плоской структуре все помещается в один селект с несколькими джоинами.
Искал какие-то решения в интернете, понял что есть только ограничение на размер одной строки, в innodb количество полей вроде бы 1000.
Может у вас есть опыт работы с такими БД.
- Вопрос по струтуре БД, max_rip 06.04.2014 21:11