sql >> Database teknologi >  >> RDS >> Mysql

Er der nogen grund til ikke at bruge lagrede procedurer for hver forespørgsel?

Dette er nærmest en religiøs diskussion afhængigt af, hvem du spørger. Der er en hårfin balance, som udviklere og dbas skal forene i disse typer sager.

Grundlæggende er her den tankegang, du virkelig ønsker at sætte i spil:

Hvis PHP-kode bruger dynamisk SQL, skal beskyttelse mod SQL-injektionsangreb til enhver tid overvejes. Input SKAL renses før de lægges til databasen.

Hvis PHP-kode bruger dynamisk SQL, men konventionen er at bruge forberedte sætninger, er du til en vis grad mere sikker, men man skal passe på, hvordan de forberedte sætninger bruges.

Hvis PHP-kode bruger lagrede procedurer, fjernes meget af kontrollen med SQL'en fra udvikleren og overlades til DBA at arbejde sammen med udviklerne om at levere en passende løsning, der opfylder deres behov. Dette kan desværre forårsage meget tid og kræfter og gå frem og tilbage på udvikling/vedligeholdelse.

Det er en af ​​de ting, der er en gråzone, og der er mange tankegange på hvilken side af ligningen der er rigtig, fordi de begge er fra bestemte synsvinkler.



  1. hvordan man uploader mere end ét billede til serveren (mysql database) ved hjælp af php og android

  2. MariaDB CONNECTION_ID() Forklaret

  3. Forpligtelse af transaktioner, mens en postgreql-funktion udføres

  4. Hvorfor øges auto_increment-id'et ikke én efter én, hvordan indstilles det?