Има няколко фактора, които трябва да имате предвид:
- Сортирането е N.log(N) операция.
- Сортирането за 14M реда може да се побере в основната памет; сортирането с 500M реда вероятно не го прави, така че сортирането се разлива на диск, което забавя нещата изключително.
Тъй като факторът е с размер около 30, номиналното време за сортиране за големия набор от данни би било от порядъка на 50 пъти по-дълго - под два часа. Въпреки това, имате нужда от 8 байта за стойност на данните и около още 8 байта режийни (това е предположение - настройте mySQL, ако знаете повече за това какво съхранява в индекс). И така, 14M × 16 ≈ 220 MB основна памет. Но 500M × 16 ≈ 8 GB основна памет. Освен ако вашата машина няма толкова свободна памет (а MySQL е конфигуриран да я използва), тогава големият сорт се разлива на диск и това представлява голяма част от останалото време.