sql >> Databáze >  >> RDS >> Mysql

Je stůl „černé díry“ zlý?

Nemyslím si, že blackhole má nějaké skutečné klady.

Psaní spouštěcího kódu pro přesun dat pravděpodobně není o nic méně práce než psaní kódu pro vložení dat na správné místo na prvním místě.

Jak píše Christian Oudard, nesnižuje složitost – pouze ji přesune na místo, kde je opravdu těžké ladit.

Na druhou stranu:

"Nežádoucí účinky" jsou obvykle špatný nápad při vývoji softwaru. Spouštěče jsou vedlejší účinky – mám v úmyslu udělat jednu věc (vložit data do tabulky) a ve skutečnosti to dělá spoustu dalších věcí. Nyní, když ladím svůj kód, musím mít všechny vedlejší účinky také v hlavě - a vedlejší účinky samy o sobě mohou mít vedlejší účinky.

většina softwaru tráví mnohem více času údržbou než vývojem. Přivedení nových vývojářů do týmu a vysvětlení triku s černými dírami pravděpodobně zvýší křivku učení – se zanedbatelným přínosem (z mého pohledu).

Protože spouštěče jsou vedlejší efekty a je relativně snadné spustit obrovskou kaskádu spouštěčů, pokud nejste opatrní, vždy jsem se snažil navrhovat své databáze bez spoléhání se na spouštěče; tam, kde jsou spouštěče jednoznačně správnou cestou, jsem je nechal vytvořit pouze svými nejzkušenějšími vývojáři. Trik s černými dírami dělá ze spouště normální, pravidelný způsob práce. To je samozřejmě osobní úhel pohledu.



  1. Odhad spojení SQL Server pomocí hrubého zarovnání histogramu

  2. Jak MAKETIME() funguje v MariaDB

  3. Co je databáze kompatibilní s ODBC?

  4. SQL UPDATE s dílčím dotazem, který odkazuje na stejnou tabulku v MySQL