Problemy z najnowsza wersja MariaDb i bardzo dluga indexacja
W przypadku najnowszej wersji MAriaDB pojawiły się problemy z trwającą ekstremalnie długo indeksacją listy produktów.
Po analizie udało się odkryćm, że problemem jest rzutowanie typów przez bazę danych. Poniżex fix króty można zastosować w pliku Magento/Framework/DB/Adapter/Pdo/Mysql.php
public function quoteInto($text, $value, $type = null, $count = null)
if (is_array($value)) {
foreach($value as &$val) {
$val = $this->castNumeric($val);
}
} else {
$value = $this->castNumeric($value);
}
if (is_array($value) && empty($value)) {
$value = new \Zend_Db_Expr('NULL');
}
if ($value instanceof \DateTimeInterface) {
$value = $value->format('Y-m-d H:i:s');
}
return parent::quoteInto($text, $value, $type, $count);
}
private function castNumeric($val) {
if (is_numeric($val)) {
return $val + 0;
}
return $val;
}
Rozwiązanie na podstawie https://github.com/magento/magento2/pull/25212/commits/b4a6b68e2d4ad403b1e85e8abdf829fb14dd2138