![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: нет Всего: 191 |
Привет.
Ситуация: Предположим есть сервис с объявлениями. Т.е. человек логиниться, заполняет форму и оставляет объявление на портале. Это объявление сперва проходит модерацию, затем только отображается на портале. Через какое-то время пользователь редактирует объявление, которое перед публикацией опять должно пройти модерацию и так может продолжаться до бесконечности с любым объявлением, пользователь его может редактировать неограниченное кол-во раз. Но при этом оно сразу не отображается на портале, а будет показано только после прохождения модерации. В этом и загвоздка, что когда юзер подал объявление и оно прошло модерацию, на портале всегда нужно показывать объявление, которое было последним прошедшим модерацию. Т.е. если юзер его отредактировал, оно все равно должно показываться, но должен показываться предыдущий промодерированный вариант. Вопрос в этом и заключается, как лучше всего хранить в БД объявление и версию, которую нужно отобрадать напортале и ту версию, которая ждет модерацию? ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Две (три, более) записи в БД. Все - с одним и тем же номером объявления. Версия, не прошедшая модерацию, имеет NULL в поле даты модерации. Показывается версия, имеющая максимальную дату модерации среди всех с таким номером.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: нет Всего: 191 |
Ну это впринципе стандартный подход, который крутился у меня в головею. Думал может другой вариант какой-нибудь есть. Этот кажется мне каким-то простым.
![]() Но спасибо в любом случае. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Мне не нравится. ![]() Тут ведь нагурзка по чтению многократ превышает нагрузку по модификации. Я бы организовал обособленную очередь модерации. И модераторам проще будет выбрать не отмодерированные сообщения и дополнительная нагрузка по вычислению актуальной версии при отображении уходит, на витрине всегда актуальная отмодерированная версия ибо. Логика постановки сообщения в очередь лишь усложняется. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Ну сколько там может быть последовательных копий объявления? десяток? два? к тому же не факт, что их все необходимо хранить, что нужна вся история правки от рождения до смерти и после... так что при наличии индекса (НомерОбъявления - ДатаМодерации) выборка будет ненамного накладнее, если кроме установленных дат там будут ещё и NULL-даты. По-моему, очередь модерации, с переносом зааппрувленных объявлений в публикации - неоправданное усложнение. А ведь ещё есть вариант редактирования незааппрувленного сообщения.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Akina, выбери из своей структуры все сообещния, подлежащие модерации.
Зависит от того, на сколько эта накладность умножается. Если ружье стреляет раз в год, то триста ружей будут стрелять почти каждый день. Это сообщение отредактировал(а) Zloxa - 18.3.2013, 15:22 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Если ВСЕ - то индекс по дате аппрува и select * from adverts where dtApproved is null ... а что? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Маська использует индекс по is null? Оракл, в общем случае - нет. Добавлено через 2 минуты и 20 секунд У нас есть 100500 сообщений, из них не модерировано 100. Индекс по 100400 значениям нам не нужен -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
а щтойта? верна ли догадка что выражение (a<=>b) эквивалентно (a=b or a is null and b is null)? Это сообщение отредактировал(а) Zloxa - 18.3.2013, 19:00 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: нет Всего: 191 |
ребята, вы отдалились
![]() а что делать со связанными таблицами? тоже все дублировать? )) Это сообщение отредактировал(а) Samotnik - 18.3.2013, 23:19 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Какими связанными таблицами? почему - дублировать? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: нет Всего: 191 |
ну объявление хранится ни в одной таблице, а в трех. Основная часть инфы конечно же в одной, но есть некоторая инфа, например адресс, город,Ю которые хранятся в друних таблицах по связям
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
и что?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |