-
結論 2023年現在のファーストチョイスとしては「date-fns」が選択肢に上がりそうです。 ただ、今後はTemporalがECMA標準になった場合はこちらを使っていくことが予測されそうです。 Dateオブジェクト Java1…
-
EAV(エンティティ・アトリビュート・バリュー) 複数の目的に使われるカラムを用意する設計です。例えば以下のようなテーブルになっていることです。 属性名 値 年齢 32 趣味 ゲーム 特技…
-
RDB(リレーショナルデータベース)の基本思想 リレーショナルデータモデルには以下の思想になっています。 データの重複がない。 実在する要素しかない。(NULLがない) 要素に順序(ソート)がない。 RDBMS…
-
ORDER BYの仕組み 全てのデータを取り出してから、ORDER BYで並び替えて、最後にLIMITで必要なデータを取り出します。 データを取り出してからバラバラの大量のデータを並び替えるため基本的にソートはかなり高コストな処理に…
-
よくある「削除フラグ」の問題点 ちなみに、「削除フラグ」だけなく「退会フラグ」、「課金状態」など類似の状況が度々業務システムでは発生しますので読み替えていただければと思います。 「削除されたデータ」と「削除されてないデータ」が同じテーブ…
-
09.26
【データベース】インデックスが効かないケース
検索結果が多い 検索結果がテーブル全体の20%未満(実務では10%未満を目標にすると良いです。)、正直選択率が10%を超えていた場合はインデックススキャンよりもフルスキャンの方が望ましいでしょう。 全体の件数が少ない 数万〜数十マン行…
-
JOINが増えるとパフォーマンスが低下します。 INNER JOINの場合は論理和になるので、A、B、C、Dと4つのテーブルがあった場合は、AとB、AとC、AとD、BとC、BとD、CとDというように重なりを調べていくので指数関数的に増…
-
過去の事実が損なわれる例 例1:料率の変更 消費税率を5%→8%に変更する対応をするために設定マスタの値を変更したとします。 消費税変更前に、購入があった本を返品する処理が動きました。その際に、8%で返品の計算が行われるため売り上…
-
歴史的背景 構造化プログラミング(C言語)の時代の例外処理 サブルーチン内でエラーが発生した場合はエラーコードを返却する形で実装するのが常套手段でした。 1の時はデッドロック、2の時は通信障害、3の時はシステムエラー この方法の…
-
もし適用するならの話になります。(あまり適用されている案件は見たことないですが。) ビューモデル エンティティを表示のために変換したものです。SPAの中心にはこれが属します。 ユースケース ビューモデルを…