gpt4 book ai didi

php - 在 MySQL 中将多个项目链接到单个项目的最佳方法

转载 作者:行者123 更新时间:2023-11-29 09:22:33 27 4
gpt4 key购买 nike

我正在使用 PHP 和 MySQL 制作一个网站。最重要的想法是您可以注册并将对象添加到您的个人资料中。您只能有 1 个个人资料,您可以有多个项目(理论上无限),每个项目可以有多张图片(理论上无限)。

我想知道如何在 MySQL 中最好地实现这一点。我接受过关于 MySQL 的非常基础的教育,因为我知道如何制作表格,各种数据类型是什么,但像外键这样的东西却被埋在了我的内存深处。我查了一下,但是理解有点慢。

我可以简单地制作 3 个表:

  1. 用户名 + 用户 ID
  2. 商品 ID + 用户 ID
  3. 商品 ID + 图片 ID

缺点是,对于每一个搜索操作、个人资料 View 甚至项目 View ,我都会查询最后两个表的全部内容,这似乎有点矫枉过正。

有人可以帮我吗?

最佳答案

你的架构实际上非常好。现在,您担心的是您会查询表的全部内容。考虑到主键和外键上有良好的索引,这非常不正确!

select
u.users_name,
i.itemid
from
users u
inner join items i on
u.user_id = i.user_id
where
u.user_id = 1234

即使有数十万行,该行集也会很快返回!原因是因为查询将使用索引查找来查找 usersuser_id 所在的行。同样,将其连接到 items 表后。因此,只需两次非常快速的查找即可找到您要查找的所有项目,并且无需扫描表格。

SQL 绝对针对这些东西进行了优化。请充分利用它!

关于php - 在 MySQL 中将多个项目链接到单个项目的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1195844/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com