Frage

Ich bin dabei, eine zu schreiben CREATE FUNCTION mit mySQL und ich frage mich, ob CREATE TEMPORARY TABLE zählt zur Flagge MODIFIES SQL DATA.Funktion ändert keine permanente Tabelle, nur temporäre Tabelle, die zu Optimierungszwecken erstellt wird.Soll ich Flagge verwenden? MODIFIES SQL DATA oder nur READS SQL DATA?Was ist ein wirklich Nutzen benutzen MODIFIES SQL DATA oder READS SQL DATA Flagge trotzdem?

War es hilfreich?

Lösung

Ab sofort (MySQL 5.5) dienen diese Merkmale nur noch der In-Code-Dokumentation.

Aus http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html

Mehrere Merkmale liefern Informationen über die Art der Datenverwendung durch die Routine.In MySQL dienen diese Merkmale nur der Empfehlung.Der Server verwendet sie nicht, um zu beschränken, welche Arten von Aussagen eine Routine ausführen darf.

Dies steht im Gegensatz zu (NON)DETERMINISTIC -Klausel, die dem Optimierer als Hinweis dient, ob die Ergebnisse der Funktion zwischengespeichert werden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top