Вместо
PRIMARY KEY (`expressionId`),
UNIQUE KEY `geneId` (`geneId`,`conditionId`),
използвайте
PRIMARY KEY(`geneId`,`conditionId`),
INDEX (`expressionId`),
Ако няма други таблици, препращащи expressionId
, отървете се от тази колона и индекса върху нея.
Защо това помага? Данните са групирани с първичния ключ; търсите данни по geneId
, което е началото на PK; следователно данните могат да бъдат извлечени по-ефективно, особено ако таблицата е много по-голяма от innodb_buffer_pool_size
(което трябва да е около 70% от RAM).