繁体   English   中英

如何在多对多表关系中优化查询性能

[英]How to optimize query performance in a many to many table relationship

我有一个用户表和一个虚拟项目表,每个表都以 ID 值作为主键。

我还有一个收藏夹表,用户可以在其中存储他们最喜欢的项目。 收藏夹表将 user_id 映射到 item_id。 许多用户可以喜欢许多项目。

table users
user_id  bigint primary key auto_increment
...

table items
item_id  bigint primary key auto_increment
...

table favorites
user_id  bigint 
item_id  bigint 

由于我无法在收藏夹表上创建索引,因为没有唯一键或主键,我该如何优化搜索查询,例如 SELECT? 有没有更好的方法来存储数据?

由于我无法在收藏夹表上创建索引,因为没有唯一键或主键

嗯? 当然,您可以创建索引。 其实想到两个:

  • favorites(user_id, item_id)
  • favorites(item_id, user_id)

这些将用于回答不同的问题。 各自的例子是:用户 X 最喜欢什么? 哪些用户最喜欢 Y?

暂无
暂无

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

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