• システム開発に関わる内容をざっくりと書いていく

charter48 投稿一覧

SQL Server インデックス再構築 / 再構成の使い分け

断片化が進んだ索引に対して、再構築(リビルド)と再構成(リオーガナイズ)のどちらを使うかで、負荷・ロック・効果の出方が違う。数値の目安は環境依存なので、「どちらが軽いか/何が付随するか」で選ぶのが実務的。 先に結論 使い ...

続きを読む

SQL Server NOLOCK を使いたくなるとき・使わない方がいいとき

読み取りがロック待ちで止まるとき、ヒントでロックを回避したくなる。いわゆる NOLOCK(読み取り未コミット相当)だ。速く見える一方で、消えたり二重に見えたりする読み取りが混ざりうる。 先に結論 何が起きうるか 使うなら ...

続きを読む

SQL Server パラメータスニッフィングの症状と対処

同じ手続き・同じパラメータ化文なのに、ある値では速い・別の値では極端に遅い——典型がパラメータスニッフィング。初回コンパイル時の値向け計画が、別の分布の呼び出しに再利用される。 先に結論 切り分け よく使う対処の型 関連 ...

続きを読む

SQL Server 統計情報更新のタイミング

オプティマイザは統計を見て行数を推定する。古い/偏った統計のままだと、スキャン過多や悪い結合順になり、突然遅くなる。自動更新に任せきりか、メンテジョブで触るかが運用の分岐点。 先に結論 いつ更新を検討するか 運用の型 関 ...

続きを読む

EF Core で発行SQLを確認する方法

EF Core 利用中に「どんな文が飛んでいるか」が見えないと、N+1 や想定外の結合に気づけない。ログ/インターセプタ/デバッガ出力など、環境に合わせた確認手段を持っておく。 先に結論 よく使う手段 見るときのポイント ...

続きを読む

EF Core N+1 の見つけ方と対策

一覧画面が遅い、ログに同じような照会が何百回も出る——典型が N+1。親を1回取ったあと、関連を行ごとに追加で取りに行くパターンだ。EF Core では Include 忘れや遅延ロード、ループ内の別クエリが原因になりや ...

続きを読む

EF Core マイグレーション失敗時の切り分け

dotnet ef database update が落ちる、起動時に自動適用が例外で止まる——マイグレーション失敗は「モデル差分」「履歴表」「既に存在するオブジェクト」が絡みやすい。慌てて手動でオブジェクトをいじる前に ...

続きを読む

接続文字列 TrustServerCertificate でハマるポイント

SQL Server へ接続するとき、証明書エラーで止まって TrustServerCertificate=True を付けたくなる場面がある。開発では楽だが、意味を理解せず本番に持ち込むと「暗号化しているつもりが検証し ...

続きを読む

Docker コンテナが即終了するときの見方

docker run した瞬間に Exited になる、Compose で上がったと思ったらすぐ落ちる——「起動失敗」ではなく「プロセスがすぐ終わった」ことが多い。コンテナは PID 1 が終了すると止まる、という前提で ...

続きを読む

Docker ポートが開かない / 繋がらない切り分け

コンテナは Up なのにブラウザや curl が繋がらない——ポート公開の取り違え、アプリの待ち受けアドレス、ホスト側ファイアウォールが定番どころ。内側では動いているのに外側だけ届かない、を順に潰す。 先に結論 切り分け ...

続きを読む