This is caused by having too many product options. In the database, each combination of product options values is stored into the database since each combination is completely customizable, so having so many options for each product will slow down the database access considerably. If you were able to reduce the number of product options and the number of values for each of these options, the number of entries would be greatly reduced and the database would run more quickly again.