Mysql 使用不存在的引用在MariaDB中保存数据

Mysql 使用不存在的引用在MariaDB中保存数据,mysql,sql,mariadb,Mysql,Sql,Mariadb,实现一个由来自外部来源的图像投票组成的web时,我发现了一个问题 MariaDb中的表格: 使用者 身份证 名字 照片 身份证 网址 平台 投票 用户ID 类光 问题是我的平台没有外部照片,我只是保留了对它们的引用。每当用户投票给一张照片时,我必须检查该照片(Url)是否在“照片”表中。“照片”表格的设计使您不必在每次投票中重复信息。有没有更好的方法来引用投票的照片,而不必“索引”所有照片?我担心性能。您的设计是该问题的标准规范化解决方案。您声明url是一个问题。以什么方式?url可

实现一个由来自外部来源的图像投票组成的web时,我发现了一个问题

MariaDb中的表格:

使用者

  • 身份证

  • 名字

照片

  • 身份证

  • 网址

  • 平台

投票

  • 用户ID

  • 类光


问题是我的平台没有外部照片,我只是保留了对它们的引用。每当用户投票给一张照片时,我必须检查该照片(Url)是否在“照片”表中。“照片”表格的设计使您不必在每次投票中重复信息。有没有更好的方法来引用投票的照片,而不必“索引”所有照片?我担心性能。

您的设计是该问题的标准规范化解决方案。您声明url是一个问题。以什么方式?url可能是某种类型的varchar。虽然url可能很大,表可能会增长到很长,但标准的mysql索引将确保按url搜索照片行的效率非常高。也许您可以将id作为照片url的一部分?它们是否都在同一个域中,按照严格的命名/编号模式组织?它们不在同一个域中,它们是多平台的。我真的不使用URL来标识照片,我使用平台上照片的具体ID来调用每个API。我只是想简化示例。作为ID,每个平台都使用其标识系统,因此我需要平台和ID。“照片”表作为我的内部系统对外部照片的抽象。我希望有了一个好的Amazon服务器,MariaDB在我的情况下能够很好地工作。非常感谢您的回答。