[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как правильно организовать структуру БД?
SmorodinKA
Добрый день. У меня есть таблица пользователи и таблица постов, которые сие пользователи пишут. Как правильно сделать: в таблицу 'users' занести новое поле, в которое будет писаться количество постов или просто, где необходимо подсчитывать из таблицы постов? Спасибо.
T1grOK
Если предусматривается постов мало, то можно и на лету пробегать таблицу. Иначе путем денормализации(поле в таблице пользователей).

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Lenarfate
я бы сделал две отдельные таблицы и связал бы их между собой по user_id, например
HErATuB
Зачем хранить? во второй таблице уже есть количество постов. Тебе просто нужно запросить количество постов из второй таблицы.
vagrand
HErATuB
Цитата
Зачем хранить? во второй таблице уже есть количество постов. Тебе просто нужно запросить количество постов из второй таблицы.


Что бы уменьшить нагрузку на БД. Добавление и удаление постов это не такая уж и частая задача, а вот вывод инфы скорее всего намного более частая задача и что же будет быстрее сделать отдельный запрос или приджойнить с группировкой, или просто добавить к выводу одно поле из той же таблицы?

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
HErATuB
Цитата (vagrand @ 20.08.2013 - 14:08)
Что бы уменьшить нагрузку на БД.

Не такая уж большая нагрузка. А так ты выделяешь память под хранение счетчиков и нужно обновлять счетчик при добавление нового поста.
vagrand
HErATuB
Цитата
Не такая уж большая нагрузка


Да ну, тебе известны все параметры: количество юзеров и постов, количество запросов в секунду, как и где выводятся эти данные? Я написал исходя из того что данных много и количество запросов существенное.

Цитата
А так ты выделяешь память под хранение счетчиков и нужно обновлять счетчик при добавление нового поста.


О да, просто грандиозное количество памяти, аж целое дополнительное поле типа int. А обновление ну просто непосильная задача, аж целых три элементарных триггера написать.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.