[解決済み] チャットメッセージをデータベースに保存する最適な方法とは?[クローズド]
2023-02-13 18:01:27
質問
私はチャットアプリを構築しており、チャット会話で送信されたすべてのメッセージの完全な履歴が欲しいと思っています。現時点では、各メッセージを 'messages' というテーブルの 1 行として保存しています。私は、'Hi' のような小さなメッセージでさえ独自のデータベース レコードを持つので、このテーブルが巨大になる可能性があることを認識しています。
どなたか、よりスケーラブルな mysql ソリューションを推奨していただけませんか?私は、個々のメッセージが検索可能、編集可能、または削除可能であることを必要としません。会話全体を 1 つの巨大なフィールドに格納することはできますか?
あなたのアイデアをぜひお聞かせください。
どのように解決するのですか?
データベースに全履歴を保存することは、何も悪いことではありません。
実際、Stack Overflowでチャットのスキーマの例へのリンクを見つけることができます。 例
それでもサイズが心配なら、グループメッセージにいくつかの最適化を適用できます。たとえば、アプリケーションにバッファを追加して、ある時間(1分程度)後にのみプッシュするようにします。
関連
-
SQL基本クエリステートメント
-
MySQL サービスとデータベース管理
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
Mysql がエラー 1241 を報告 オペランドは 1 つのカラムを含む必要があります。
-
[解決済み] SQLでカラムに最大値を持つ行のみを選択する [重複]。
-
[解決済み] ずっとUTF-8
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
MySQLの悲観的ロックと楽観的ロックの実装スキーム
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
sql エラーを解決する オペランドには1つの列が含まれている必要があります。
-
SQL Server のトランザクションは、try キャッチに記述しなければ、中間ステートメントがエラーを報告してもコミットされます。
-
群関数解の無効な使用
-
[解決済み] mysqladminのフラッシュホストでブロックを解除する方法
-
[解決済み] KEYキーワードは何を意味するのか?
-
[解決済み] Mysqlでidを使用してテーブルから多くの行を削除する
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新