| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > алгоритм обмена сообщениями |
| Автор: bammm 25.9.2008, 10:52 |
| Здравствуйте Помогите в алгоритме для следующей задачи Нужно реализовать обмен сообщениями между зарегистрированными пользователями на php+mysql. Получил совет создать таблицу msg(id, from_user_id, to_user_id, text, date, parent_msg) Но я думаю это будет занимать слишком много процессорного времени и ресурсов оперативной памяти даже для того чтобы сформировать список между какими пользователями происходил диалог. Может есть способы пооптимизированнее? Заранее спасибо |
| Автор: bammm 25.9.2008, 13:02 |
| я вот о каких ресурсах говорю: для того чтобы вывести список с кем общался пользователь c id=5 надо "select to_user_id from msg where from_user_id=5;" Возвратит в php длиннющий результат, который надо разобрать на отдельные неповторяющиеся строки и "select from_user_id from msg where to_user_id=5;" и опять не менее длинный результат получить и разобрать. Это не ресурсоемко по опер. памяти? И по времени. |
| Автор: skyboy 25.9.2008, 13:19 | ||
(не)повторяемость учитывается в запросе. и реализуется средствами СУБД. куда его надо разобрать? пока что я не понимаю твоей логики. |
| Автор: teroni 25.9.2008, 13:22 |
| Да это простые запросы, ресурсоёмкость не очень большая.. К тому же, ведь если юзер по 1000 сообщений написал уже, то ведь не все их надо показать на текущей странице, а допустим последние 50, и запрос будет с LIMIT 0, 50. |
| Автор: bammm 25.9.2008, 13:31 |
| skyboy разобрать - в смысле на неповторяющиеся разбирать. Я думал это мне вручную надо делать ) спасибо |
| Автор: bammm 26.9.2008, 10:32 |
| подскажите как запрос "select to_user_id from msg where from_user_id=5;" сделать таким чтобы он выбирал строки с уникальным to_user_id |
| Автор: solenko 26.9.2008, 10:52 |
| google-> SQL DISTINCT |
| Автор: lelik133 26.9.2008, 11:16 | ||
или
|
| Автор: bammm 26.9.2008, 11:48 |
| оо спасибо! |