繁体   English   中英

mySQL表,主键

[英]mySQL table, primary key

我有一张桌子,用于两个目的。 一个目的是通过运行PHP cron作业每5秒完成一次计算。 为此,我需要一个主键,它是大约5个字段的组合。 使用此主键,cron作业可以非常有效且快速地运行。 然后是表的第二个目的,即在用户登录后检索要在网页上显示的数据。为此,需要完全不同的主键。 我用于cron的那个让它变慢。 我很想创建两个具有相同字段和数据但具有不同主键的表。 我知道这会增加很多开销,但网站会非常快速和快速响应。 这是推荐的东西吗?

您可以在所需的任何字段组合上创建索引。

通常,我更喜欢表上的自动递增的整数主键。 很有用。

您可以拥有此类索引,然后在其他列上再构建两个索引

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操作上维护索引会有一些开销。 您可能希望在您的环境中进行测试以查看这是否是一个问题(通常不是)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM