私たちはチャットサービスを実装しています。私はテーブルデザインに関するいくつかの入力をしたいと思います。私たちのサービスはMySQLを使用しており、DBにはスレッドとメッセージの2つのテーブルがあります。スレッドテーブルにはすべてのチャットスレッドが格納され、Messagesテーブルにはすべてのメッセージが格納されます。チャットスレッドは複数のメッセージを持つことができますが、メッセージは1つのスレッドにしか属しません。各メッセージは、messageIdというMessagesテーブルの列で識別されます。チャットサービスのテーブル設計に関するパフォーマンスの考慮
私たちのサービスでは、時々各スレッドの最後のメッセージのmessageIdを取得する必要があります。 2つのオプションがあります:
1 add a column called lastMessageId to Threads to keep track of the last message; each time a message is inserted into Messages table, we need to update Threads table as well;
2 each time we need the last message's id, perform a query on Messages table to find the last message;
私はどのオプションをとるべきですか?