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

データベース設計:登録と検証

    これは別の観点から見ています。

    あなたの状況では、おそらく1つのテーブルで十分です。ただし、他にも考慮事項があります。

    1)ボリューム。小さなテーブルでは、フラグでのフィルタリングがパフォーマンスに大きな影響を与えることはありません。大きなテーブル(数百万行)では、フラグをインデックスに配置する必要があります。大きなテーブルのインデックスに低いカーディナリティフラグを設定すると、パフォーマンスが低下する可能性があります。

    2)欠陥。テーブルにフラグを設定するには、ほとんどすべてのクエリでフラグを使用する必要があります。十分に大きい、または十分に複雑なシステムの場合、誰かがそのフラグを見逃すでしょう。リスクの判断は、アクティブ化されていないユーザーを誤って選択した場合のコストによって異なります。

    リスクを軽減する1つの方法は、ビューを使用することです。 2つのテーブルのソリューションを実装する場合は、UNION ALLを使用してビュー(All_Users)を使用します。 1つのテーブルのソリューションを実装する場合は、アクティブ化されたユーザーのみのビューを作成し、代わりにそのテーブルを使用してください。コアテーブルを変更する必要があるのは、メンテナンス機能だけです。



    1. LOAD DATA INFILEタイプのコマンドを使用してデータベースの行を更新することは可能ですか?

    2. MySQL 8は文字列をコンマで分割し、JSON配列に変換します

    3. 電子メールの列に情報を埋め込む方法

    4. SQL Serverで日付を切り捨てる最良の方法は何ですか?