タグ

SQL

SQL に関連する記事をまとめています。

DBのdry run(ドライラン)とは?本番でUPDATE・マイグレーションを流す前の確認方法

DBのdry run(ドライラン)は、実際には変更せずに「実行したら何が起きるか」だけを確認することです。本番のUPDATE・DELETE・マイグレーション事故の多くは、実行前の数分で防げます。同じWHERE句でSELECTして件数を数える基本から、BEGIN→ROLLBACK、Laravelの migrate --pretend、pt-online-schema-changeやgh-ostのdry run、バックアップから復元してのリハーサルまで、確実さと手間の順に5段階で整理。MySQLのDDLは暗黙コミットでROLLBACKできないという重要な落とし穴も公式マニュアルの記述とあわせて解説します。

RDBMSパフォーマンスチューニングの基礎|SQL・索引・キャッシュの順で考える

RDBMS(MySQL・PostgreSQL・Oracleなど)のパフォーマンスチューニングの基礎を、共通する考え方として整理します。鉄則は「安くて効果の大きい順」に手を打つこと。まず推測せず実行計画やスロークエリで測り、次にSQLと呼び出し側のプログラム(N+1や取りすぎ)を疑い、それから索引(インデックス)を付け、どうしてもダメなら非正規化・マテリアライズドビュー・キャッシュを検討します。なぜこの順番なのか、なぜ主要RDBMSで共通なのか(コストベース最適化・統計情報・B-treeインデックス)まで、初心者にも分かるように解説します。

Drizzle ORM とは何か?SQL に近い TypeScript ORM の特徴と Prisma との使い分け

Drizzle は TypeScript で 「SQL を書く感覚に近い ORM」として急成長しているライブラリです。スキーマも TS で書き、生成された型がそのまま使える / Edge ランタイムで動く / バンドルが軽い といった特徴があり、Prisma の代替候補として支持を集めています。仕組み・基本の使い方・Prisma との比較を整理します。