sql >> Databasteknik >  >> RDS >> Mysql

Långsamma MySQL-inlägg

Det kan vara en tid för horisontell partitionering och flytta blobfält till en separat tabell. I denna artikel i "A Quick Side Note on Vertical Partitioning" tar författaren bort ett större varchar-fält från en tabell och det ökar hastigheten på en fråga om storleksordning.

Anledningen är att fysisk genomgång av data på en disk blir betydligt snabbare om det finns mindre utrymme att täcka, så att flytta större fält någon annanstans ökar prestandan.

Dessutom (och du gör det förmodligen redan) är det fördelaktigt att minska storleken på din indexkolumn till dess absoluta minimum (char(32) i ascii-kodning för md5), eftersom storleken på nyckeln är direkt proportionell mot hastigheten på dess användning .

Om du gör flera insättningar samtidigt med InnoDB-tabeller kan du avsevärt öka hastigheten för insättningar genom att slå in dem i transaktioner och göra flera insättningar i en fråga:

START TRANSACTION
INSERT INTO x (id, md5, field1, field2) values (1, '123dab...', 'data1','data2'),(2,'ab2...','data3','data4'),.....;
COMMIT


  1. Gratis MySQL-synkroniseringsverktyg

  2. Hur får jag meningsfulla felmeddelanden från MySQL med PDO-förberedda uttalanden?

  3. BOOLEAN eller TINYINT förvirring

  4. Vi introducerar Easysoft Oracle®-drivrutinen i din SOA-miljö