# Opgeslagen procedures versus Dynamic SQL - het oude debat...Frans Bouma's take...

<datetime class="hidden">2003-12-07T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, Database, Performance -->
[Frans Bouma](http://weblogs.asp.net/fbouma) echt niet ziet het nut van het gebruik van [Opgeslagen procedures over het gebruik van Dynamic SQL](http://weblogs.asp.net/fbouma/posts/38178.aspx) Dus Frans, wat vind jij van dingen als [Geïndexeerde weergaven](http://www.sqlteam.com/item.asp?ItemID=1015)En user Defined Functions - die in wezen SP's zijn maar er is geen equivalent voor Dynamic SQL, dus u suggereert dat ik deze niet meer moet gebruiken?
Om eerlijk te zijn ben ik altijd een beetje terughoudend om veel geloof te hechten aan een argument over een benadering van Data Access van iemand die een [gevestigde rente](http://www.llblgen.com/) Ik weet het. [LLBLGen Pro](http://www.llblgen.com/) ondersteunt SP's maar het heeft wel een sterke vooringenomenheid ten opzichte van Dynamisch Genereerde T-SQL), een beetje zoals MS op het Linux debat...licht gevestigde interesse (of voormalig [Halliburton CEO](http://www.fool.com/News/mft/2003/mft03032502.htm) op [Irak](http://www.thetip.org/art_Haliburton_Awarded_Massive_Iraqi_Oil_Reconstruction_Deal268_icle.html)- maar dat is een andere kwestie:-))
Ik gebruik SP's bijna uitsluitend voor Data-toegang, Ik heb geen gevestigde interesse in de ene aanpak of de andere, Ik gebruikte Dynamic SQL in de slechte oude dagen van ASP/VBScript, maar schakelde naar SP's wanneer ik meer oomph nodig had in mijn data-toegangscode. Ik heb een sterke voorkeur voor het manipuleren van gegevens met behulp van Set-gebaseerde logica, ja, voor meer complexe operaties Ik zal de gegevens in code te brengen, maar in het algemeen, Ik gebruik de DB voor het manipuleren en vervolgens de kleinste hoeveelheid gegevens terug te keren naar code. De reden dat ik dit doe is niet koppigheid, gewoon vind ik het gemakkelijker om te filteren en compileren mijn gegevens het dichtst bij de bron.
Ik vind ook een aantal argumenten van Frans een beetje ontbreekt, er is een argument voor het gebruik van Dynamic SQL waar je moet reageren op de invoer van gebruikers voor het filteren van gegevens; rapporten zijn een klassiek voorbeeld waar je zou kunnen vinden overeenkomende gegevens items op basis van een variabel aantal ingangen - op alle manieren gebruik Dynamic SQL voor dat, maar in 90% van de gevallen wil ik gewoon gegevens uit een DB zo snel en pijnloos mogelijk dit is waar ik gebruik SPs. Ik vaak gebruik [Tabelvariabelen](http://www.eggheadcafe.com/articles/20010823.asp) voor het compositeren en filteren van gegevens, het behandelen van SP's als set providers en het wijzigen van de uiteindelijke output resultatenet om alleen de gegevens die ik eigenlijk nodig heb bevatten - dit zou meestal meerdere reizen van en naar de DB (we praten in de tientallen hier voor elk geval) en zou vrij traag zijn, evenals het veroorzaken van zwaar netwerkverkeer dat ik me meestal slecht kan veroorloven op zeer schaalbare sites.
Kortom wat ik zeg is dat voor mijn doeleinden, de 90% opgeslagen procedures, 10% Dynamic SQL werkt het beste - het maken van absolute uitspraken over dergelijke dingen is als commentaar op religie, politiek of Open Source of Java - Ik geloof niet dat er een volledig binair argument te maken op een van deze gebieden, er is te veel verankerde standpunten - paarden voor cursussen is mijn mening:-)