|
30.05.2010, 17:21
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
Данные пользователя
Подскажите, пожалуйста.
Вот если надо хранить данные о пользователя, а именно изображений в среднем 100 штук (но у некоторых может быть 1 а у других 1000), всякие статьи. То как лучше это делать? База данных mysql одна.
Надо ли для каждого пользователя делать отдельную таблицу?
Просто если записывать всё в одной, то предположим ситуация на сайте 1000 пользователей и и все активно пишут статьи удаляют изменяют и это идёт через одну таблицу , база данных не зависнет?
И как лучше хранить изображения надо ли ли делать для пользователя отдельную папку и туда все его изображения помещать или в базе данных хранить?
|
|
30.05.2010, 17:31
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от mycoding
|
Надо ли для каждого пользователя делать отдельную таблицу?
|
О, ужас...
Отдельная таблица для статей, отдельная таблица для юзеров, возможно отдельная таблица для картинок.
|
|
30.05.2010, 17:33
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Для картинок таблица связей -- id пользователя <=> id картинки, картинки хранятся в многоуровневой структуре папок вида /site/images/ac/3e/ac3ea1a3a4a5a6a7a.jpg
|
|
30.05.2010, 18:07
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
Т.е следует сделать папку с именем пользователя.
И вот думаю следует ли туда поместить ещё index.php для вывода всех данных пользователя? Просто если предположить что у нас 1000000 пользователей и index.php весит около 7 кб получается около 6 гигабайт?
Наверное это слишком.
|
|
30.05.2010, 18:16
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от mycoding
|
Т.е следует сделать папку с именем пользователя.
|
где вы это увидели?
такой путь - /site/images/ac/3e/ac3ea1a3a4a5a6a7a.jpg позволяет снизить нагрузку на ФС
ac/3e - это первые 4 символа имени, а не имя пользователя.
в свою очередь имя файла-это какой-нибудь хеш.
как правило используется md5 от содержимого файла
Сообщение от mycoding
|
И вот думаю следует ли туда поместить ещё index.php для вывода всех данных пользователя?
|
apache mod_rewrite
|
|
30.05.2010, 20:50
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от mycoding
|
Просто если предположить что у нас 1000000 пользователей
|
Если у вашего сайта будет 1 000 000 пользователей, то у вас будут деньги на нормальных программистов. Не волнуйтесь
|
|
31.05.2010, 08:35
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,576
|
|
Вообще, если не знаком с законами нормализации БД - вперед изучать. Без этого никак.
Например пользователь грузит себе картинки. Надо три таблицы:
пользователи
idp Вся информация о пользователе(ник, ящик, хеш пароля ...)
1 petia petiaгав-гавmail.ru uyte87458rtui87483475 ...
...
картинки
idim name
1 x.gif
2 y.gif
картинки пользователей
idp idim
1 1
1 2
|
|
01.06.2010, 07:32
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
micscr,
учитывая, что одну картинку может загрузить только один пользователь, то необъодимость в вашей третьей таблице отпадает, и ее данные вполне хорошо ложатся в таблицу картинок
|
|
01.06.2010, 07:52
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,576
|
|
да держать загрузившего картинку в таблице картинок надо.
А картинки пользователей - это я предполагал общий случай, а не загруженные лично им. Например пользователь составляет свои галереи - картинки от друзей, товарищей, ...
|
|
01.06.2010, 09:55
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Gvozd, ай-яй-яй Это сейчас надобности нет, а потом она вполне себе может появится micscr все правильно написал.
|
|
|
|