我有一个实体Messages,这是一个用于记录时间戳,消息和machine_uuid的类
public class Messages {
private UUID uuid;
private UUID machine;
private long timestamp;
private String message;
}
如果有许多机器定期发送消息,则该表很快就会变得很大。是否可以为每台计算机创建一个单独的消息表?
答案 0 :(得分:2)
不。在JPA中是不可能的,但是大多数数据库供应商在这种情况下都支持“表分区”。
答案 1 :(得分:0)
如果您有一个数据库实例,则无需为不同的机器ID使用不同的表。您可以为计算机UUID创建INDEX,并进行操作而不会浪费时间。不好的做法是为不同的ID使用不同的表。
要想按名称支持不同的表(如表messages_machine_id_1,messages_machine_id_2),您将非常痛苦。尤其是,当您要删除或添加其他计算机时,使用计算机ID进行查询既容易又快捷。
这不是问题,如果表很大,只需添加索引即可快速检索数据。