Det kunne være tid til vandret opdeling og flytning af klatfelt til en separat tabel. I denne artikel i 'A Quick Side Note on Vertical Partitioning' fjerner forfatteren et større varchar-felt fra en tabel, og det øger hastigheden af en forespørgsel om størrelsesorden.
Årsagen er, at fysisk gennemgang af data på en disk bliver betydeligt hurtigere, hvis der er mindre plads at dække, så flytning af større felter andre steder øger ydeevnen.
Også (og du gør det sikkert allerede) er det en fordel at reducere størrelsen af din indekskolonne til dets absolutte minimum (char(32) i ascii-kodning for md5), fordi størrelsen på nøglen er direkte proportional med hastigheden af dens brug .
Hvis du laver flere indsættelser ad gangen med InnoDB-tabeller, kan du øge indsætningshastigheden betydeligt ved at pakke dem ind i transaktioner og lave flere indsættelser i én forespørgsel:
START TRANSACTION
INSERT INTO x (id, md5, field1, field2) values (1, '123dab...', 'data1','data2'),(2,'ab2...','data3','data4'),.....;
COMMIT