我有一张桌子,用于两个目的。一个目的是通过运行PHP cron作业每5秒完成一次计算。为此,我需要一个主键,它是大约5个字段的组合。使用此主键,cron作业可以非常有效且快速地运行。然后是表的第二个目的,即在用户登录后检索要在网页上显示的数据。为此,需要完全不同的主键。我用于cron的那个让它变慢。我很想创建两个具有相同字段和数据但具有不同主键的表。我知道这会增加很多开销,但网站会非常快速和快速响应。这是推荐的东西吗?
答案 0 :(得分:2)
您可以根据需要的任何字段组合创建索引。
通常,我更喜欢表上的自动递增的整数主键。非常有用。
您可以拥有此类索引,然后在其他列上再构建两个索引
create index table_col1_col2_col3_col4_col5 on table(col1, col2, col3, col4, col5);
表示第一个索引。如果您愿意,可以将其设为unique
索引,然后数据库将强制执行这五列的行之间的唯一性。然后你可以用另一种方式创建另一个用于冲浪表的索引:
create index table_col6_col7 on table(col6, col7);
这可以用于检索。
在insert
/ update
/ delete
操作上维护索引会有一些开销。您可能希望在您的环境中测试是否存在问题(通常不是)。