Domanda

Sto per scrivere un CREATE FUNCTION con MySQL e mi sto chiedendo, se CREATE TEMPORARY TABLE conta per la bandiera MODIFIES SQL DATA.Funzione non modifica alcun tavolo permanente , solo tabella temporanea, che crea per scopi di ottimizzazione.Dovrei usare bandiera MODIFIES SQL DATA o solo READS SQL DATA?Cos'è un valore davvero benefici per utilizzare MODIFIES SQL DATA o Bandiera READS SQL DATA comunque?

È stato utile?

Soluzione

A partire da ora (MySQL 5.5) Queste caratteristiche servono solo come documentazione in-code.

Da http://dev.mysql.com/doc/refman/5.5/it/create-procedure.html

.

Diverse caratteristiche forniscono informazioni sulla natura dei dati utilizzare dalla routine.In MySQL, queste caratteristiche sono solo consultive. Il server non li usa per vincolare quali tipi di istruzioni a La routine sarà consentita da eseguire.

Questo è in contrasto con la clausola (NON)DETERMINISTIC, che funge da suggerimento a ottimizzare se i risultati della funzione possono essere memorizzati nella cache.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top