Index: /changelog
===================================================================
--- /changelog	(revision 7912)
+++ /changelog	(revision 7913)
@@ -469,2 +469,3 @@
 - Bugfix: Produktartikel Neu Aufbauen beachtet den "Entwurfs - Status"
 - Bugfix: Produktartikel Neu-Aufbau mit Resten alter "Ãbersetzungen" korrigiert (Produktstatus wurde ÃŒberschrieben)
+- Feature: Performance Optimierung bei Varianten und Sortierung nach Mindestpreis
Index: /mods/wpsg_mod_productvariants.class.php
===================================================================
--- /mods/wpsg_mod_productvariants.class.php	(revision 7912)
+++ /mods/wpsg_mod_productvariants.class.php	(revision 7913)
@@ -1937,4 +1937,6 @@
 		} // public function getVariation($variation_id)
 
+		protected $_variantsscache = [];
+
 		/**
 		 * Gibt einen Array der Produktvarianten zurÃŒck
@@ -1943,4 +1945,8 @@
 		 */
 		public function getVariants($product_id = false, $global = true, $onlyActive = false, $loadVariationen = false) {
+
+			$cache_key = __FUNCTION__.implode('|', \func_get_args());
+
+			if (isset($this->_variantsscache[$cache_key])) return $this->_variantsscache[$cache_key];
 
 			$strQuerySELECT = "";
@@ -1991,5 +1997,5 @@
 			$strProductQuery .= " ) ";
 
-			$arData = $this->db->fetchAssoc("
+			$strQuery = "
 				SELECT
 					V.*,
@@ -2020,5 +2026,7 @@
 					".$strQueryORDER."
 					V.`product_id` ASC, V.`pos`
-			", "id");
+			";
+
+			$arData = $this->db->fetchAssoc($strQuery, "id");
 
 			foreach ($arData as $k => $v) {
@@ -2076,4 +2084,6 @@
 
 			// TODO: Ãbersetzung
+
+			$this->_variantsscache[$cache_key] = $arData;
 
 			return $arData;
