Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie können wir die Store-Prozedur in der Where-Klausel aufrufen?

Sie sollten eine Funktion anstelle einer Prozedur verwenden. Eine Prozedur gibt eine (eine oder mehrere) Ergebnismengen (Tabellen) zurück, während eine Funktion einen einzelnen Wert zurückgibt.

Sie sollten es sich zweimal überlegen, bevor Sie Funktionen in der Where-Klausel verwenden, wenn sie Select-Klauseln aus der Datenbank enthalten, da dies zu einer Situation führen kann, in der der Abfrageoptimierer den Abfragepfad nicht optimieren kann, was zu serialisierten Abfragen und schlechter Leistung führt. Wenn die Datenmenge gering ist oder Sie mit dem möglichen Leistungseinbruch einverstanden sind, würde dies funktionieren.