LOW_PRIORITY
, HIGH_PRIORITY
und DELAYED
sind nur in wenigen Fällen nützlich. Wenn Sie keine große Ladung haben, können sie Ihnen nicht helfen. Wenn Sie etwas tun, tun Sie nichts, was Sie nicht vollständig verstehen.
Alle diese otpions funktionieren nur mit MyISAM, nicht InnoDB, nicht Ansichten.
DELAYED
funktioniert nicht mit partitionierten Tabellen, und es ist eindeutig für Dataware House konzipiert. Der Client sendet die Einfügung und vergisst sie dann, ohne auf das Ergebnis zu warten. Sie werden also nicht wissen, ob die Einfügung erfolgreich war, ob es doppelte Werte usw. gab. Sie sollte niemals verwendet werden, während andere Threads SELECT
aus dieser Tabelle verwenden konnten, weil ein verzögertes Einfügen niemals gleichzeitig erfolgt.
LOW_PRIORITY
wartet, bis kein Client auf die Tabelle zugreift. Aber wenn Sie viel Verkehr haben, können Sie warten, bis die Verbindung ausläuft ... das ist nicht, was Sie wollen, nehme ich an :)
Beachten Sie auch, dass DELAYED
in Oracle MySQL 5.7 entfernt wird (aber nicht in MariaDB).
Hinweis: Ab MySQL 5.6.6 ist INSERT DELAYED veraltet und wird in 5.7 entfernt. – Petah