sql >> Database >  >> RDS >> Mysql

Is er een reden om niet voor elke query opgeslagen procedures te gebruiken?

Dit is bijna een religieuze discussie, afhankelijk van wie je het vraagt. Er is een delicaat evenwicht dat ontwikkelaars en dbas's moeten verzoenen in dit soort gevallen.

Dit is eigenlijk de gedachte die je echt in het spel wilt brengen:

Als PHP-code dynamische SQL gebruikt, moet te allen tijde rekening worden gehouden met bescherming tegen SQL-injectieaanvallen. Ingangen MOETEN worden opgeschoond voordat ze in de database worden geplaatst.

Als PHP-code dynamische SQL gebruikt, maar de conventie is om voorbereide instructies te gebruiken, dan bent u tot op zekere hoogte veiliger, maar wees voorzichtig bij het gebruik van de voorbereide instructies.

Als PHP-code opgeslagen procedures gebruikt, wordt een groot deel van de controle over de SQL bij de ontwikkelaar weggenomen en overgelaten aan de DBA om met de ontwikkelaars samen te werken om een ​​adequate oplossing te bieden die aan hun behoeften voldoet. Dit kan helaas veel tijd en moeite kosten en heen en weer gaan met ontwikkeling/onderhoud.

Het is een van die dingen die een grijs gebied is en er zijn veel stromingen aan welke kant van de vergelijking juist is, omdat ze allebei vanuit een bepaald gezichtspunt komen.



  1. Hoe kan ik een tweede database aanmaken en laden in ddev?

  2. MySQL Selecteer waar in veel tot veel

  3. Moment JS-tijd invoegen in MySQL

  4. Records samenvoegen in een enkele kolom zonder lussen?