|
|
|
| Что-то не пойму как реализуют такой функционал, точнее выбор таблицы.
Далеко уходить не буду, вот возьмем диалоговые окна в соц. сети ВК, там 1 пользователь может написать второму, второй первому.
Но у них явно структура таблицы не такая:
id_from_user | id_rcpt_user | id_msg (*)
|
Так как это разрастётся, станет так медленно работать, другое дело, может они делают не одну таблицу, а много таблиц, например.
table_ id_from_user_ id_rcpt_user
|
В нее суют структуру (*)
А может делают сессии, которые являются отдельными таблицами?
Например.
id_from_user | id_rcpt_user | id_sess
|
id_sess_table
id_from_user | id_rcpt_user | msg
|
| |
|
|
|
|
|
|
|
для: lgar
(15.01.2014 в 20:00)
| | > Так как это разрастётся, станет так медленно работать,
Во-первых - это зависит от типа таблиц, ключей и т.п. Скажем MyISAM очень чувствительна к размеру таблицы, а InnoDB - нет. Ключи также очень помогают быстрому поиску.
Во вторых - есть масштабирование.... Т.е. можно разбить запросы к разным таблицам, например, по диапазону ID пользователей.
В третьих - это решается кластерными наращиваниями мощностей. Т.е. на обработку запроса кидается сразу, скажем, 500 серверов.
Структура данных, скорее всего, точно такая же. Вопрос в подходе к ее реализации. | |
|
|
|
|
|
|
|
для: lgar
(15.01.2014 в 20:00)
| | а зачем использовать mysql для решения подобных задач? все делают это с помощью nosql баз данных. Проще, удобнее, быстрее. | |
|
|
|