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

重いテーブルからの DB 設計とデータ取得

    現在のデザインに固執しないでください。あなたの繰り返しグループは扱いにくく、自己制限的です... 誰かが 151 回アップロードするとどうなりますか? 150 ではなく行ごとに各タイプが 1 つになるように、このテーブルを正規化します。1 ~ 150 であるかどうかを気にせずに positioncol から SAPDATA を選択できるため、この方法でマッピングする必要はありません。

    おそらく、ID を持つ PROJECTS テーブル、ID を持つ PROJECT_UPLOADS テーブル、および PROJECTS テーブルへの FK が必要です。上記のユースケースを考えると、このテーブルには、Position、SourceDate、Formula、および IsActive が含まれます。

    次に、次のようなことができます

    PROJECTS から p.name、pu.position を選択 p 内部結合 PROJECT_UPLOADS pu on pu.projectid =p.id WHERE pu.position ='SAPDATA'

    など




    1. 小さなテーブルで時間がかかるMySQLALTERTABLE

    2. カンマ区切り値

    3. Ubuntu16.04でのMariaDB10.0から10.3.9へのアップグレード

    4. Codeigniter AND OR AND