Должен ли я отделить & ldquo; сообщение & rdquo; в 2 таблицы?

Другая реализация с рекурсивным стилем ES6

Array.prototype.cartesian = function(a,...as){
  return a ? this.reduce((p,c) => (p.push(...a.cartesian(...as).map(e => as.length ? [c,...e] : [c,e])),p),[])
           : this;
};

console.log(JSON.stringify([0,1].cartesian([0,1,2,3], [[0],[1],[2]])));

0
задан marc_s 24 February 2019 в 10:24
поделиться

2 ответа

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

Я считаю удобным назвать одноранговые каналы как

[prefix][lesser_user_id][separator][greater_user_id]

Например, канал между пользователями 56789 и 12345 может быть назван chan12345.56789. В таком случае, когда вам нужно найти соответствующий канал между двумя пользователями, все, что вам нужно в качестве их идентификаторов.

0
ответ дан Gene S 24 February 2019 в 10:24
поделиться

Если ваш приоритет - производительность, перейдите ко второму варианту, а если вас беспокоит размер, перейдите к первому.

В качестве альтернативы, вы можете пойти другим путем: создать одну таблицу в качестве таблицы истории и установить флаг как ложный для столбца «новая запись», а также сбросить все данные, которые уже отправлены в таблицу истории и новые данные (пока быть отправлено) в основной таблице с флагом «Новая запись» = true. Таким образом, вы можете сохранить свой первый подход.

0
ответ дан Mohit Kumar 24 February 2019 в 10:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: