Есть таблица товаров, у каждого товара есть product_id
Есть таблица заказа, у него есть order_id, user_id, дата, еще что-то там.
Есть таблица связи многие-ко-многим, типа order_has_product, например
order_id | product_id | qty
Когда нужны все товары из корзины делаешь примерно так
select id, title, description from products where product_id in (
select product_id from order_has_product where order_id = 42
)
-- ну или с джоином, вложенный написал просто для наглядности
Отдаешь это на фронт, отрисовываешь.
Не вариант же подгружать 10к товаров одним массивом
Конечно не вариант. Храните их в бд на бэке. Причем 10к, это не большой магазин, в большом магазине будут тысячи КАТЕГОРИЙ товаров.
Не получится же просто пробегаться по всему массиву товаров в поиске ...
Конечно не нужно пробегаться. Почитайте про
индексы.