Wygląda na to, że to jest problem (mam teraz ten sam problem), te dwie linie:
INDEX `IDX_ALPHANUM_INFO_TEXT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
INDEX `IDX_ALPHANUM_INFO_TEXT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),
Musisz mieć wymienione wartości liczbowe w następujący sposób:
INDEX `IDX_ALPHANUM_INFO_TEXT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`(255)),
INDEX `IDX_ALPHANUM_INFO_TEXT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`(255)),
Podłącz to i zadziała. Sztuczka polega na tym, aby poprawnie wstawić. Dla zwięzłości nie opublikuję całej funkcji, ale w Mage_Eav_Model_Entity_Setup::createEntityTables
mniej więcej w wierszu 1341 musisz zmodyfikować te wiersze:
->addIndex($this->getIdxName($eavTableName, array('attribute_id', 'value')),
array('attribute_id', 'value'))
->addIndex($this->getIdxName($eavTableName, array('entity_type_id', 'value')),
array('entity_type_id', 'value'))
W następujący sposób:
->addIndex($this->getIdxName($eavTableName, array('attribute_id', 'value')),
array('attribute_id', $type == 'text' ? array('name' => 'value', 'size' => 255) : 'value'))
->addIndex($this->getIdxName($eavTableName, array('entity_type_id', 'value')),
array('entity_type_id', $type == 'text' ? array('name' => 'value', 'size' => 255) : 'value'))
Nie jestem do końca pewien, na jaką wartość należy ustawić wartość rozmiaru, ale myślę, że ustawienie jej na pełne 64k pokonałoby przede wszystkim cel indeksowania. Mam nadzieję, że ktoś, kto wie trochę więcej o sql, niż ja wtrącę.
Mam nadzieję, że to pomoże.