Автор Тема: Как лучше организовать структуру модерируемой таблицы?  (Прочитано 2560 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн webxtor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
У меня есть таблица, в которой хранятся некоторые данные, внесенные пользователями.
Появилась задача пропускать все изменения и создания новых записей через модератора. Сайт расчитан на большую посещаемость, а обьем данных таблицы будет около 300 тыс записей.

Стоит ли создавать новую таблицу, где хранить ожидающие модерации данные, с целью снизить нагрузку на таблицу, из которой постоянно идет выборка?

Еще есть вариант немного изменить структуру таблицы, добавив новое поле moderated TINYINT(1), но в таком случае выборка получит еще одно условие в where: and moderated=1, что немного уменьшит скорость работы.

Как же лучше посупить?

Спасибо за внимание!

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
webxtor
1. Изобретать велосипед, нужно тогда, когда это оправдано и все имеюшиеся средства уже израсходованы... (например индексы).
Цитировать
с целью снизить нагрузку на таблицу, из которой постоянно идет выборка?

2. ИХМО не правильно сформулировано понятие... нагрузка тут совсем не причем, если имееться ввиду уменьшение кол-ва записей в таблице, то безусловно имеет... но только после того как выполнен п.1 ...

Цитировать
Еще есть вариант немного изменить структуру таблицы, добавив новое поле moderated TINYINT(1), но в таком случае выборка получит еще одно условие в where: and moderated=1, что немного уменьшит скорость работы.

3. Поясните это изречение...
And no religion too...

Оффлайн webxtor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
2. Имеется в виду и количество записей и неоправданно постоянно увеличивающийся id (который auto_increment) с каждым новым редактированием. И мне казалось, что увеличение запросов к таблице (кроме выборки будут еще запросы касательно редактирования и  модерирования) снизит производительность и надежность хранения данных. Однако, похоже для таких средних обьемов боятся нечего..

3. Ну вот у меня есть таблица моя. Из нее идет выборка по id или по category_id. Если в этой же таблице хранить еще и данные, ожидающие модерации, то нужно будет добавить еще как минимум одно поле - original_id. Теперь я думаю, что можно поле category_id для таких записей оставлять пустым, и оно автоматически не будет участвовать в выборке. Ну а moderated будет указывать на то, вынес ли модератор какое-то решение касательно этой записи или нет.

Тогда возникает вопрос: Что делать после одобрения редактирования модератором?
-удалять временную запись, обновить оригинальную
-или же обновить все поля на пустые вместо удаления, а original_id оставить, и при повторном редактировании использовать эту же временную запись

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28