Mysql
 sql >> база данни >  >> RDS >> Mysql

Лоша ли е масата с „черна дупка“?

Не мисля, че черната дупка има реални плюсове.

Написването на кода за задействане за преместване на данни вероятно не е забележимо по-малко работа от писането на кода за вмъкване на данните на правилното място на първо място.

Както пише Christian Oudard, това не намалява сложността - просто го премества на място, където е наистина трудно да се отстранят грешки.

От друга страна:

„Страничните ефекти“ обикновено са лоша идея при разработката на софтуер. Тригерите са странични ефекти - възнамерявам да направя едно нещо (вмъквам данни в таблица) и всъщност прави много други неща. Сега, когато отстранявам грешки в кода си, трябва да запазя и всички странични ефекти в главата си - и страничните ефекти могат сами да имат странични ефекти.

повечето софтуери прекарват много повече време в поддръжка, отколкото в разработка. Привличането на нови разработчици в екипа и обясняването на трика с черната дупка вероятно ще увеличи кривата на обучение – за незначителна полза (според мен).

Тъй като тригерите са странични ефекти и е сравнително лесно да задействате огромна каскада от тригери, ако не сте внимателни, винаги съм се опитвал да проектирам базите си данни без да разчитам на тригери; където тригерите очевидно са правилният път, оставих само най-опитните си разработчици да ги създават. Трикът с черната дупка превръща тригерите в нормален, редовен начин на работа. Това е лична гледна точка, разбира се.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Лесен въпрос за mysql относно първични ключове и вмъкване

  2. Получаване на PHP PDO връзка от mysql_connect()?

  3. Невалидна стойност по подразбиране за „Дата“

  4. MySQL:Изберете редове с повече от едно срещане

  5. ALTER TABLE в MySQL:Приятел или враг?