假设我正在制作一个 IRC 机器人,除了应该存储在数据库中的所有其他东西之外,我想记录机器人所在的每个通道中的所有消息。
我已经有一个channels与列的表id,channel_name以及其他一些信息。
对于记录每条消息,对我来说最有意义的是messages_channelname为每个通道创建一个表,并在其中存储消息以及与其关联的任何其他信息。
但是,这引发了一个问题 - 表的名称现在与通道的名称分离id(尽管我可以通过将表名称设置为 来缓解这种情况messages_channelid)。
我觉得这里的最佳实践,而不是最有意义的做法,是拥有一个messages包含来自所有频道的消息的主表,列channel_id,id和message,id每个频道的消息索引在哪里。但是随后我会(毫无根据地)担心表格大小和可能的搜索速度。
解决这个问题的最佳方法是什么?
dynamic-sql ×1