In MySQL, was ist effizienter: IFNULL oder NULLIF?
Diese zwei MySQL-Funktionen tun das gleiche:
IFNULL(column_name, 'test') = 'test'
oder
NULLIF(column_name, 'test') IS NULL
Welches ist effizienter?
InformationsquelleAutor der Frage user2259597 | 2013-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beide sind so effizient, wie jede andere - die Funktionen haben, etwa den gleichen Aufwand wie jeder andere.
Aber das ist effizienter als entweder:
Weil die Funktion nicht aufgerufen werden müssen.
Finden Sie möglicherweise setzen die mehr Häufig anzutreffende test-first-verbessert die Leistung.
Sich mit Fragen wie diese, die einfachste und sicherer Weg, um zu entdecken, relative performance, ist es, einfach auszuprobieren und zu vergleichen-Abfrage timings. Stellen Sie sicher, Sie haben die Produktion-Größe und realistisch bewertet datasets, damit der test fair ist.
InformationsquelleAutor der Antwort Bohemian
Zweck
NULLIF
undIFNULL
ist nicht dasselbe, so Leistungsvergleich macht keinen Sinn.NULLIF
zurücknull
wenn der Ausdruck hat einen bestimmten Wert, in der Erwägung, dassIFNULL
zurücktext
wenn der Ausdrucknull
.Beispiel:
SELECT IFNULL(field,'empty') from table1;
Seit
null
macht nicht viel Sinn, die an den Endbenutzer.insert into table1 (field) values (nullif(field,'empty'));
Seit
null
hat eine Besondere Bedeutung in der Datenbank.InformationsquelleAutor der Antwort Ashutosh Nigam
sind Sie für verschiedene Zwecke, der Leistung Vergleich macht keinen Sinn.
http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html
InformationsquelleAutor der Antwort PLA