将购物袋中的 session 数据(数组)存储(和检索)到 mysql 数据库中的最有效方法是什么?以便访客在下次访问时取 repo 物袋中的元素。
我现在需要存储的是:唯一的包 ID - 产品 ID - 和添加的日期时间(到 Cron 旧包)。
我正在考虑使用简单的“加密算法”将 bagID 存储到 cookie 中。 因此用户可以在不同的浏览器/计算机上拥有不同的包。
我正在考虑的选项:
使用一张表将bag session数组进行杀菌或json_encode后存入Data列:
BAGS ----- bagID | data | date_added int (AUTO_INCREMENT)| text | datetime
像这样使用这两个表:
BAGS ----- bagID | date_added int (AUTO_INCREMENT)| datetime BAGS_CONTENT ----- ID (relate to bagID)| productID (list all products in the bag) int | int(10)
我正在考虑使用简单的“加密算法”将 bagID 存储到 cookie 中。 因此用户可以在不同的浏览器/计算机上拥有不同的包。
性能最佳的选项是什么?会有明显的性能差异吗?还是其中一个选项不好?
在选项 1 中,在 bagID 上使用主键是否明智?
在选项 2 中,在 bagID 上使用主键并在 ID 上使用外键是否明智?
最佳答案
我喜欢选项 #2 的想法,bagID 应该是一个很好的主键。
我有两个问题:如何将用户绑定(bind)到购物袋?一个用户可以拥有多个购物袋吗?
我的做法是向 bags 表添加一个 customerID(每个用户的唯一标识符)。但是如果一个用户只能有一个购物袋,那么你根本就不需要 bagID,你可以通过 customerID 来索引它。
关于php - 将购物袋数据存储到 mysql 数据库中的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8696451/