Thay vì
PRIMARY KEY (`expressionId`),
UNIQUE KEY `geneId` (`geneId`,`conditionId`),
sử dụng
PRIMARY KEY(`geneId`,`conditionId`),
INDEX (`expressionId`),
Nếu không có bảng nào khác đang sắp xếp lại expressionId
, loại bỏ cột đó và chỉ mục trên đó.
Tại sao điều này lại giúp ích? Dữ liệu được nhóm với khóa chính; bạn đang tra cứu dữ liệu bằng geneId
, đó là sự bắt đầu của PK; do đó, dữ liệu có thể được tìm nạp hiệu quả hơn, đặc biệt nếu bảng lớn hơn nhiều so với innodb_buffer_pool_size
(sẽ chiếm khoảng 70% RAM).