I stedet for
PRIMARY KEY (`expressionId`),
UNIQUE KEY `geneId` (`geneId`,`conditionId`),
brug
PRIMARY KEY(`geneId`,`conditionId`),
INDEX (`expressionId`),
Hvis ingen andre tabeller refererer til expressionId
, slip med den kolonne og indekset på den.
Hvorfor hjælper dette? Dataene er grupperet med den primære nøgle; du søger data efter geneId
, som er starten på PK; derfor kan dataene hentes mere effektivt, især hvis tabellen er meget større end innodb_buffer_pool_size
(hvilket burde være omkring 70 % af RAM).