Det verkar som att det här är problemet (har samma problem just nu), dessa två rader:
INDEX `IDX_ALPHANUM_INFO_TEXT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
INDEX `IDX_ALPHANUM_INFO_TEXT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),
Behöver ha numeriska värden listade som sådana:
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)),
Koppla in den så fungerar det. Tricket är att få den att sätta in korrekt. För korthetens skull lägger jag inte upp hela funktionen, utan i Mage_Eav_Model_Entity_Setup::createEntityTables
vid ungefär linje 1341 måste du modifiera dessa rader:
->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'))
Så här:
->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'))
Jag är inte helt säker på vad du ska ställa in storleksvärdet på, men jag skulle tro att om du ställer in det på hela 64k skulle det motverka syftet med indexering i första hand. Förhoppningsvis kommer någon som vet lite mer om sql än jag att höra av mig.
Hoppas det hjälper.