Bom dia,
Mais conexões com o banco talvez não ocorra, a não ser que esses eventos de adicionar, retirar e editar quantidade de produtos do carrinho sejam por ajax, pois enquanto a aplicação cliente aguarda a resposta de um evento, por exemplo, "Cart.remove(item)", poderia chamar um "Cart.setQty(2, item)". Ai você teria eventos assíncronos abrindo duas conexões com o database.
Caso contrário é uma conexão aberta por request de página certo?
Você tem alguma ideia do volume de escrita (transações com INSERT, UPDATE e mesmo DELETE) nessa tabela? Use uma tabela real não uma temporária, assim você pode futuramente adicionar novos relatórios do que está acontecendo no ecommerce próximo do tempo real, armazene esses dados, é bom, logo você consegue pensar em boas funcionalidades pra eles, mas uma é: Abandonei meu carrinho, depois de um certo tempo recebo um e-mail me alertando disso e dando algum desconto ou não por exemplo, deixando um CRON chamando um serviço (um url qualquer GET .php por exemplo) uma vez por hora que pega os carrinhos abandonados e realiza o processo.
Mas eu usaria Redis e um job extraindo aos poucos através de uma fila do Redis para o DB caso fosse ajax para os acessos não baterem diretamente no meu database, assim você pode fazer uma promoção e divulgar bem sem se preocupar muito com o mysql, apenas com o escalonamento do seu cluser Redis que é bem mais tranquilo aguenta muuuuito mais impacto do que um mysql.
Abraço!