【发布时间】:2012-01-02 08:40:41
【问题描述】:
将购物袋中的会话数据(数组)存储(和检索)到 mysql 数据库中的最有效方法是什么?以便访问者在新的访问中取回他们的购物袋内容。
我现在只需要存储:唯一的包 id - 产品 id('s) - 和添加的日期时间(到 Cron 旧包)。
我正在考虑使用简单的“加密算法”将 bagID 存储到 cookie 中。 因此,用户可以在不同的浏览器/计算机上拥有不同的包。
我正在考虑的选项:
-
使用一张表,对包会话数组进行消毒或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 上使用外键是否明智?
【问题讨论】:
标签: php mysql performance