sql >> データベース >  >> RDS >> Mysql

「ブラックホール」テーブルは悪ですか?

    ブラックホールには本当の長所はないと思います。

    データを移動するためのトリガーコードを作成することは、最初にデータを適切な場所に挿入するためのコードを作成することよりも、おそらく著しく少ない作業ではありません。

    Christian Oudardが書いているように、複雑さを軽減するのではなく、デバッグが非常に難しい場所に移動するだけです。

    欠点:

    「副作用」は通常、ソフトウェア開発では悪い考えです。トリガーは副作用です-私は1つのこと(テーブルにデータを挿入する)を実行するつもりですが、実際には他の多くのことを実行します。さて、コードをデバッグするときは、すべての副作用も頭の中に入れておく必要があります。副作用自体に副作用がある可能性があります。

    ほとんどのソフトウェアは、開発よりもメンテナンスにはるかに多くの時間を費やしています。新しい開発者をチームに参加させ、ブラックホールのトリックを説明すると、学習曲線が長くなる可能性があります-(私の見解では)ごくわずかな利益になります。

    トリガーは副作用であり、注意しないとトリガーの巨大なカスケードを開始するのは比較的簡単なので、私は常にトリガーに依存せずにデータベースを設計しようとしました。トリガーが明らかに正しい方法である場合、私は最も経験豊富な開発者にのみトリガーを作成させました。ブラックホールのトリックは、トリガーを通常の通常の作業方法にします。もちろん、これは個人的な見解です。



    1. Countを使用すると、Mysqlは1行のみを返します

    2. postgresqlでデータベースのユーザーを作成するにはどうすればよいですか?

    3. MySqlでクエリを実行するときのonly_full_group_byに関連するエラー

    4. MySQLでのRIGHT()関数のしくみ