Er zijn een aantal factoren waarmee u rekening moet houden:
- Sorteren is een N.log(N)-bewerking.
- De sortering voor rijen van 14 miljoen past misschien wel in het hoofdgeheugen; de sortering met 500 miljoen rijen waarschijnlijk niet, dus de sortering komt op de schijf terecht, wat de zaken enorm vertraagt.
Aangezien de factor ongeveer 30 groot is, zou de nominale sorteertijd voor de grote dataset in de orde van 50 keer zo lang zijn - minder dan twee uur. U hebt echter 8 bytes per gegevenswaarde nodig en nog ongeveer 8 bytes overhead (dat is een gok - stem af op mySQL als u meer weet over wat het opslaat in een index). Dus 14M × 16 ≈ 220 MB hoofdgeheugen. Maar 500M × 16 ≈ 8 GB hoofdgeheugen. Tenzij je machine zoveel geheugen over heeft (en MySQL is geconfigureerd om het te gebruiken), dan komt de grote hoeveelheid naar de schijf en dat is goed voor een groot deel van de rest van de tijd.