0

假设我正在为在线商店建立一个网站并拥有一个产品数据库。所有这些产品都有自己的页面和各自的 URL。

如果 URL 始终可以从数据库中的其他数据派生(假设每个产品都可以在 http://example.com/[ PRODUCT.CATEGORY ]?prod=[ SHA1(PRODUCT.NAME) ] 找到),会将 URL 存储在表的另一个字段中是否明智?

一方面,它是重复数据(它可以很容易地从表中的其他现有字段导出)。另一方面,这些 URL 到处都在使用,每次需要它们时重新派生它们似乎很浪费。

这种情况是否有最佳实践?

4

1 回答 1

0

您不应该在数据库中存储任何 url。

您应该在运行时根据您要查找的数据创建 url。

显示产品的页面可以忽略它不需要的任何字段。

您还应该使用 ID 字段而不是 product.name。除非您试图对用户隐藏某些产品,否则没有理由 sha1 密钥。

请记住,使用主键查找记录是获取该记录的最快方法。

于 2012-07-12T17:19:08.463 回答