チャットと通知のリストを返す Web サービスを作成しています。ユーザーは、ページ番号とページごとに表示するアイテムの数を入力として送信できますが、2 種類のオブジェクト (最新のものから最新のものまで) を返すことができ、同じリストに表示する必要があります。
私は2つのテーブルを持っていてchat
、notification
CREATE TABLE chat
(
idchat serial NOT NULL,
idinterest integer NOT NULL,
idowner integer NOT NULL,
iduser integer NOT NULL,
creationdate,
editdate,
CONSTRAINT pk_chat PRIMARY KEY (idchat)
)
CREATE TABLE notification
(
idnotification serial NOT NULL,
message character varying(255) NOT NULL,
creationdate date NOT NULL,
datefinvalidite date NOT NULL,
idcompte integer NOT NULL,
idtypenotification integer NOT NULL,
sender integer NOT NULL DEFAULT 0,
CONSTRAINT pk_notification PRIMARY KEY (idnotification)
)
idchat
ID (またはidnotification
)、日付 ( creationdate
)、およびブール値で構成される、すべてのチャットと通知をグループ化するビューを作成したいと考えています。ischat
しかし、これが正しい解決策かどうかはわかりません。
問題 20 行の順序付けられたメッセージ (通知とチャット) を返す必要がある場合は、次のいずれかを実行できます。
最後の通知を 10 回受け取り、次に最後のチャットを 10 回受け取りますが、9 回目のチャットは 11 回目の通知よりもかなり古い可能性があります。
最新のチャットの日付を確認し、20 番目に新しい通知が古い場合は通知のみを取得し、それ以外の場合は ... わかりません
20 の最新の通知を取得し、20 の最新のチャットがそれらを注文してクライアントに送信しますが、同時に多くの要求を処理するサーバーにとっては重いタスクになる可能性があります。