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

Czy stół „czarnej dziury” jest zły?

Nie sądzę, że blackhole ma jakieś zalety.

Napisanie kodu wyzwalającego do przenoszenia danych prawdopodobnie nie jest zauważalnie mniej pracochłonne niż napisanie kodu, który wstawi dane we właściwym miejscu.

Jak pisze Christian Oudard, nie zmniejsza to złożoności — po prostu przenosi go w miejsce, w którym naprawdę trudno jest go debugować.

Minusy:

„Skutki uboczne” są zwykle złym pomysłem w tworzeniu oprogramowania. Wyzwalacze są efektami ubocznymi – zamierzam zrobić jedną rzecz (wstawić dane do tabeli), a to faktycznie robi wiele innych rzeczy. Teraz, kiedy debuguję swój kod, muszę pamiętać o wszystkich skutkach ubocznych — a skutki uboczne same w sobie mogą mieć skutki uboczne.

większość oprogramowania poświęca znacznie więcej czasu na konserwację niż na rozwój. Wprowadzenie nowych programistów do zespołu i wyjaśnienie sztuczki z czarną dziurą prawdopodobnie zwiększy krzywą uczenia się - z znikomą korzyścią (moim zdaniem).

Ponieważ wyzwalacze są efektami ubocznymi, a jeśli nie jesteś ostrożny, stosunkowo łatwo jest wywołać ogromną kaskadę wyzwalaczy, zawsze starałem się projektować moje bazy danych bez polegania na wyzwalaczach; Tam, gdzie wyzwalacze są wyraźnie właściwą drogą, pozwalam tworzyć je tylko moim najbardziej doświadczonym programistom. Sztuczka z czarną dziurą sprawia, że ​​wyzwalacze stają się normalnym, regularnym sposobem działania. To oczywiście osobisty punkt 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. Dane hierarchiczne — zagnieżdżony model zestawu:MySql

  2. MySQL:Dodaj kolumnę sekwencji na podstawie innego pola

  3. mysql kolejność kwerend łączenia według dwóch kolumn

  4. Usuń wiersz Mysql po określonym czasie

  5. Dlaczego liczby całkowite w krotce wiersza bazy danych mają sufiks „L”?