我认为我应该算作数据库新手,所以把这个问题当作一个新手问题来阅读。我目前创建了一个表,其中包含许多主机的环境变量,如下所示:
create table envs (
host varchar(255),
envname varchar(255),
envvalue varchar(8192),
PRIMARY KEY(host, envname)
);
非常简单,一张表包含我需要的所有数据。常见操作是获取给定主机的所有环境变量,另一个是获取给定主机的给定环境变量,第三个示例操作是获取所有主机的给定环境变量并列出重复项。
性能预计不会成为问题,可能会有数十台主机,每台主机数十个变量,平均每秒最多 1 个查询。
现在我读到拥有复合主键不一定是个好主意。对于上述用例,这是真的吗?如果是真的,我应该如何更改数据库设计?如果不是,上述单表数据库是否适合我上面列出的用途?