Tach!
zum Punkt #1: meine Aussage bezog sich auf einen full table scan. Es kann sein, daß MySQL (oder MariaDB) unter Verwendung eines Index schneller zum Ziel kommt, da müsste ich erst nachsehen.
Ja, laut Handbuch kürzt MySQL ab, wenn es kann.
zum Punkt #2: ich habe hier eine Tabelle mit 10 Mio. Datensätzen und verwende die einfach mal. So sieht das au (Darstellung habe ich gekürzt:
mysql> select * from ABDAOK order by PZN limit 10;
.....................
10 rows in set (14,94 sec)mysql> select A.* from (select * from ABDAOK limit 10) A order by PZN;
.....................
10 rows in set (0,01 sec)
>
> Die Ausgaben unterscheiden sich, da im ersten Fall alle Datensätze sortiert werden müssen und danach werden aus dieser Liste die ersten 10 genommen; im zweiten Fall werden die ersten 10 Datensätze genommen und diese sortiert.
Damit bekommst du zwei völlig verschiedene Ergebnisse. Die zweite Variante nimmt sich einfach die ersten zehn zufällig gewählten Datensätze und sortiert sie. Ob das so gewollt sein kann? Jedenfalls ist das keine Alternative zur ersten Variante und einem Index auf PZN. Denn damit bekommst du die Datensätze mit den zehn kleinsten PZN-Werten.
dedlfix.