Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: как в mysql...
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » как в mysql...

Страниц (1): [1]
 

1. Еугений - 26 Марта, 2012 - 12:44:51 - перейти к сообщению
всем привет. допустим, я хочу добавить сделать чат в реальном времени и хочу чтобы кол-во сообщений выводилось не более 100 штук. Вопрос в том, как сделать, чтобы в таблице chats, например, всегда было не более ста записей? ну например, в бд хранится 100 строк и тут кто-то пишет еще, и не должно получится, что в таблице оказалась 101 строка. (то есть, самое первое сообщение должна удалится).

у меня есть мысль при каждом insertе сообщения от пользователя делать еще один запрос к бд delete, кторый удаляет лишнее,строк более ста (delete......where limit > 100, как то как?)
2. DelphinPRO - 26 Марта, 2012 - 12:53:30 - перейти к сообщению
что ам мешает хранить все сообщения а выборку делать по последним ста?
3. Еугений - 26 Марта, 2012 - 12:54:53 - перейти к сообщению
DelphinPRO пишет:
что ам мешает хранить все сообщения а выборку делать по последним ста?

да просто чтоб бд не нагружать
4. DelphinPRO - 26 Марта, 2012 - 12:59:27 - перейти к сообщению
вы ее нагружаете лишними операциями.
а очистку можно по крону делать, раз в сутки, например. Хотя, не знаю, насколько это правильно.
5. EuGen - 26 Марта, 2012 - 13:08:35 - перейти к сообщению
Зачем вообще что-то удалять?
Почему не выбирать просто последние 100 строк?
6. Еугений - 26 Марта, 2012 - 13:14:36 - перейти к сообщению
EuGen пишет:
Зачем вообще что-то удалять?
Почему не выбирать просто последние 100 строк?


не ну а зачем мне лям записей, если показывать надо будет только 100 Радость
7. snikers987 - 26 Марта, 2012 - 13:18:50 - перейти к сообщению
Еугений пишет:
EuGen пишет:
Зачем вообще что-то удалять?
Почему не выбирать просто последние 100 строк?


не ну а зачем мне лям записей, если показывать надо будет только 100 Радость

Ну так поставьте задачу к примеру на cron и раз в час удаляйте все старое(по времени добавления) и оставляйте 100 последних постов..

 

Powered by ExBB FM 1.0 RC1