Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jakiś powód, aby nie używać procedur składowanych dla każdego zapytania?

To jest prawie dyskusja religijna, w zależności od tego, kogo zapytasz. Istnieje delikatna równowaga, którą programiści i dbający muszą pogodzić w tego typu przypadkach.

Oto myślenie, które naprawdę chcesz wprowadzić:

Jeśli kod PHP korzysta z dynamicznego SQL, zabezpieczenia przed atakami typu SQL injection muszą być brane pod uwagę przez cały czas. Wejścia MUSZĄ zostać oczyszczone przed umieszczeniem w bazie danych.

Jeśli kod PHP korzysta z dynamicznego SQL, ale zgodnie z konwencją używa się przygotowanych instrukcji, jesteś do pewnego stopnia bezpieczniejszy, ale należy zwrócić uwagę na to, jak przygotowane instrukcje są używane.

Jeśli kod PHP korzysta z procedur zapisanych w bazie, znaczna część kontroli nad SQL jest odebrana programiście i pozostawiona DBA, który współpracuje z programistami w celu zapewnienia odpowiedniego rozwiązania, które spełnia ich potrzeby. Niestety może to spowodować wiele czasu i wysiłku oraz chodzenie tam i z powrotem na rozwój/konserwację.

To jedna z tych rzeczy, które są szarą strefą i istnieje wiele szkół myślenia, po których stronie równania jest słuszna, ponieważ obie są z pewnych punktów widzenia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz z jednej tabeli, gdzie nie w innej

  2. funkcja explode() używająca SEPARATORA GRUPY

  3. Jak zainstalować MySQL z phpMyAdmin na Ubuntu 12.04

  4. jak uzyskać różne wiersze o maksymalnej wartości

  5. Sql wybierz elementy pasujące do tablicy i wyświetl je w rzędzie