![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| nicka47 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
НУжен совет.
Есть 2 альтернативы. Первая, это можно создать таблицу из где-то 100 полей. Вторая , это сделать таблицу с динамическими полями и вторую таблицу с их значениями. Режимы работы как для программиста , так и для пользователей сайты будут соверщенно разные. Наверно сами предствавите какие. Вот я не могу реально взвесить все за и против этих 2-х методов и решительно согласиться в пользу одного из них Может более опытные специальсты посоветуют, хотелось бы знать. |
|||
|
||||
| ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Фактически, 100 полей в одной таблицы несут проблему для человека, а не для базы данных, т.к. человеку будет сложно запомнить все имеющиеся поля и оперировать ими.
Использование же динамических полей может быть полезно, если предполагается часто изменять структуру таблицы, в остальных же случаях ничего кроме повышеной нагрузки на базу они не несут - представьте себе необходимость выбрать из базы определенную запись сразу со всеми полями. |
|||
|
||||
| Dagdamor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.5.2004 Репутация: 1 Всего: 1 |
Первый вариант работает быстрее, если нужно выбирать больше чем одно значение поля для данной записи.
Если нужны сразу все значения - тогда однозначно первый вариант лучше. Второй вариант удобен, если нужно либо динамически добавлять/удалять поля, либо искать по значению определенного поля (чтобы в первом случае не пришлось вешать индексы на кучу полей). Мне больше по душе первый вариант, он более "аккуратен" и не нужна дополнительная таблица. |
|||
|
||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 3 Всего: 36 |
Насколько будут заполнены эти поля?
Насколько жесткая структура? Если постоянно придется добавлять/удалять поля или если в большинстве записей из всех полей будет заполнена только половина полей, то в топку длинную таблицу. |
|||
|
||||
| ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Короче, информации для окончательного ответа недостаточно - опишите задачу подробнее.
|
|||
|
||||
| Dagdamor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.5.2004 Репутация: 1 Всего: 1 |
Кстати, небольшое дополнение: если даже в "широкой" таблице большая часть полей имеют значение NULL, это не приводит к расходу места на диске, т.к. MySQL не хранит физически эти значения. То же самое со значениями 0 и "пустая строка", если поле объявлено как NOT NULL.
|
|||
|
||||
| nicka47 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2005 Где: Грузия Репутация: нет Всего: нет |
По тематике база эта для маклеров по недвижимости, то есть там будут храниться сотни тысяч записей по недвижимости. ПОэтому такое огромное количество полей ими заявлено, наверно им так нужно для профессиональной работы.
НАсчет частоты изменений в структуре базы, поскольку я только начинаю работать с ними, то не могу сказать как часто в среднем будут вводиться ими изменения. Но мне кажеться не должно быть часто, в крайнем случае будут время от времени добавлять-убирать поля. Сайт в основном будет состоять из главной страницы , на которой будут лежать максимум пара десятков платных обявлений. Страница для поиска обьявлений по внутренней базе. И страница с подробным описанием, там будут уже выходить все поля из этих 100, которые заполнены. ТО есть выводиться списки обявлений просто для просмотра не предполагается. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |