Каков наиболее эффективный способ хранения (и извлечения) данных сеанса (массива) из корзины для покупок в базу данных mysql? Чтобы посетители снова получали содержимое своей корзины для покупок при новом посещении.
Все, что мне нужно на данный момент хранить, это: уникальный идентификатор сумки - идентификатор продукта (ов) - и добавленные дата и время (к старым сумкам Cron).
Я думаю о сохранении bagID с простым «алгоритмом шифрования» в cookie.
Таким образом, пользователи могут иметь разные сумки на разных браузерах / компьютерах.
Опции, о которых я думаю:
Используйте одну таблицу и стерилизуйте или json_encode массива сеансов мешков для хранения в столбце данных:
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?