アーカイブ:2021年 10月
-
10.30
【SQL】INとEXISTS、JOINの違い
よく、EXISTSの方が速いのでEXISTSを使うべきと言われていたりしますが、それは間違いです。用途に合わせて使っていくのが正しい使い方になります。 結論 いろいろ調査してみた結果、以下のような使い分けが良いでしょう。 [crayo…
-
10.24
【SQL】「ON句」の意外と知らない活用法
手軽に使えるのですがエンジニアの間でも意外と知られていないSQLの活用法をご紹介します。 通常のJOINのON句の使い方 JOINのON句は以下のように結合条件のために普通は使うと思います。 [crayon-64828899b2241…
-
10.10
【データベース】「JSON型」について
JSON型 EAVの代替手段として近年登場してきました。 MySQLであれば、5.7.8以降で使えるようになった新たなデータ型です。基本的にはカラムの汎用性を高めて変更に強くし開発効率を上げることができます。 ただ、EAVと同…
-
10.10
【プログラミング】「日時」に関する知識
ISO8601形式 日付、時間、時刻、時差などを表現するための国際標準化機構(ISO)による規格で1988年に公開されました。世界中の多くのプログラミング言語やデータベースで採用されています。 [crayon-64828899b2705…
-
結論 2023年現在のファーストチョイスとしては「date-fns」が選択肢に上がりそうです。 ただ、今後はTemporalがECMA標準になった場合はこちらを使っていくことが予測されそうです。 Dateオブジェクト Java1…
-
EAV(エンティティ・アトリビュート・バリュー) 複数の目的に使われるカラムを用意する設計です。例えば以下のようなテーブルになっていることです。 属性名 値 年齢 32 趣味 ゲーム 特技…
-
RDB(リレーショナルデータベース)の基本思想 リレーショナルデータモデルには以下の思想になっています。 データの重複がない。 実在する要素しかない。(NULLがない) 要素に順序(ソート)がない。 RDBMS…
-
ORDER BYの仕組み 全てのデータを取り出してから、ORDER BYで並び替えて、最後にLIMITで必要なデータを取り出します。 データを取り出してからバラバラの大量のデータを並び替えるため基本的にソートはかなり高コストな処理に…