PHP / MySQL:存储项ID

时间:2012-08-06 09:07:31

标签: php mysql url

当我将某些商品存储在表格中,然后想要将URL连接到每个商品时,我只需要mywebsite.com/item/132 这将显示有关项目表中第132项的信息。有这样的不好吗?我应该让它有类似youtube的东西,每个项目都有一组随机的字符吗?这样做的最佳方式是什么?

只需将项目存储为表格中的常用数字,然后网址看起来更像这样吗?mywebsite.com/item/a19kgjy

然后是PHP脚本"解密" a19kgjy并获取一个用于从数据库中获取正确项目的数字?

这会让一切变慢吗?

2 个答案:

答案 0 :(得分:2)

这很糟糕,因为您要为服务器添加额外的工作以进行排序。为什么不创建这样的表呢?

CREATE TABLE myTable
(
    ID int AUTO_INCREMENT,
    httpLink varchar(max)
)

在这种情况下,您只需对ID

进行排序

答案 1 :(得分:1)

我认为这与安全/数据保护问题更为相关。这实际上取决于您是否希望其他人轻松访问。有时这个数字非常敏感,最好使用散列键,例如,让我们说使用transaction_id或user_id,你可以向其他人公开你的企业每天有多少交易或你的系统拥有多少用户,这可能间接导致有些漏洞。但是如果你想实现哈希方法,我建议你在数据插入过程中生成随机哈希,而不是在查询期间使用解密方法。这样可以节省一些处理能力。但请记住索引表的哈希字段。无论如何,数字或哈希都不是真正的搜索引擎友好网址。