Istället för
PRIMARY KEY (`expressionId`),
UNIQUE KEY `geneId` (`geneId`,`conditionId`),
använd
PRIMARY KEY(`geneId`,`conditionId`),
INDEX (`expressionId`),
Om inga andra tabeller refererar till expressionId
, bli av med den kolumnen och indexet på den.
Varför hjälper detta? Data är klustrade med den primära nyckeln; du letar upp data med geneId
, vilket är början på PK; därför kan data hämtas mer effektivt, speciellt om tabellen är mycket större än innodb_buffer_pool_size
(vilket bör vara cirka 70 % av RAM-minnet).