Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> алгоритм обмена сообщениями, алгоритм обмена сообщениями между пользо 
V
    Опции темы
bammm
Дата 25.9.2008, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



Здравствуйте
Помогите в алгоритме для следующей задачи
Нужно реализовать обмен сообщениями между зарегистрированными пользователями на php+mysql.
Получил совет создать таблицу msg(id, from_user_id, to_user_id, text, date, parent_msg)
Но я думаю это будет занимать слишком много процессорного времени и ресурсов оперативной памяти даже для того чтобы сформировать список между какими пользователями происходил диалог. Может есть способы пооптимизированнее?
Заранее спасибо
PM MAIL   Вверх
skyboy
Дата 25.9.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(bammm @  25.9.2008,  09:52 Найти цитируемый пост)
Но я думаю это будет занимать слишком много процессорного времени и ресурсов оперативной памяти

в смысле? создание таблицы? так ты её должен не при отправке очередного сообщения создавать, а раз создать и пользоваться.
что-то не пойму: либо ты думаешь, что использование БД не рационально и есть другие, более быстрые способы хранения и выборки информации, либо я тебя не понял. 
PM MAIL   Вверх
bammm
Дата 25.9.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



я вот о каких ресурсах говорю:
для того чтобы вывести список с кем общался пользователь 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;"

и опять не менее длинный результат получить и разобрать. Это не ресурсоемко по опер. памяти? И по времени.
PM MAIL   Вверх
skyboy
Дата 25.9.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(bammm @  25.9.2008,  12:02 Найти цитируемый пост)
Возвратит в php длиннющий результат, который надо разобрать на отдельные неповторяющиеся строки

(не)повторяемость учитывается в запросе. и реализуется средствами СУБД.
Цитата(bammm @  25.9.2008,  12:02 Найти цитируемый пост)
и разобрать

куда его надо разобрать? пока что я не понимаю твоей логики.
PM MAIL   Вверх
teroni
Дата 25.9.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 3
Всего: 22



Да это простые запросы, ресурсоёмкость не очень большая.. К тому же, ведь если юзер по 1000 сообщений написал уже, то ведь не все их надо показать на текущей странице, а допустим последние 50, и запрос будет с LIMIT 0, 50.
PM MAIL   Вверх
bammm
Дата 25.9.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



skyboy разобрать - в смысле  на неповторяющиеся разбирать. Я думал это мне вручную надо делать )
спасибо
PM MAIL   Вверх
bammm
Дата 26.9.2008, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



подскажите как запрос 
"select to_user_id from msg where from_user_id=5;" сделать таким чтобы он выбирал строки с уникальным to_user_id
PM MAIL   Вверх
solenko
Дата 26.9.2008, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 7
Всего: 67



google-> SQL DISTINCT


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
lelik133
Дата 26.9.2008, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 3
Всего: 14



или 
Код

group by to_user_id 

PM ICQ   Вверх
bammm
Дата 26.9.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



оо спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.