Parece que você deseja manter o preço original de cada item pedido. O que eu faria é ir com a opção 1 e criar outra coluna na sua tabela que contém uma string que identifica cada item no pedido.
Por exemplo, se eu estivesse vendendo frutas, uma banana poderia ter
iZ
como uma chave única. E uma maçã pode ter 6U
como uma chave única. Quando um usuário faz um pedido, essas chaves exclusivas são inseridas em sua nova coluna. Então, quando você vê os dados desta coluna são iZ6U
você saberia que o usuário pediu uma maçã e uma banana.