Hi,
If you have to save each variant so that it works properly it's because some of your data is not correct.
Make sure that in your product table you have one entry for the product and one for each variant of the product (combination of characteristics values). Then, make sure that for each one of these entries (even for the product itself) of the product table, that you have an entry for each characteristic of the product in the variant table and that it links to a value of a characteristic. Also, the main product entry will have an additional entry in the variant table linking it to each characteristic.