Tak, przechowywane procedury są bardzo powolne w porównaniu do innych języków programowania, takich jak C# lub Java. Mądrość obliczeniowa. Ten sam kod byłby powolny również w SQL Server. Prawdopodobnie jest szybszy od MySQL, ale nadal będziesz czekał kilka sekund, aż zostanie całkowicie wykonany. Będzie ci lepiej, robiąc to w języku programowania, który kończy to zadanie w ciągu sekundy.
Więc innymi słowy:
Niska wydajność procedura przechowywana jest jednym z powodów, dlaczego zazwyczaj nie jest mądry, aby realizować kosztowne obliczeniowo logikę biznesową w bazie danych. Ponieważ sieci nie są wąskim gardłem, które kiedyś były, często lepiej jest wyodrębnić dane do warstwy aplikacji i przetworzyć je w wybranym języku programowania, nawet jeśli wymaga to kilku dodatkowych, rundowych wycieczek do bazy danych.
SQL nie jest językiem programowania, w którym pętla jest bardzo szybka. –
@juergen d: nie jest "_nie bardzo szybki_", jest powolny jak diabli ... To ** 8-9 TYSIĘCE ** razy wolniej niż średnia pętla. – recis