SQL Server– category –
-
SQL Server
SQL Server の EXISTS と IN の使い分け — NOT IN で NULL に泣かない3パターン
SQL Server の EXISTS と IN の使い分け — NOT IN で NULL に泣かない3パターン みなさんこんにちは!ヒロポンです! 「マスタに登録済みの明細だけ抽出して」。業務でよくある存在チェック。 これ、EXISTS でも IN でも JOIN でも書けるんですよね。 じゃ... -
SQL Server
SQL Server の CAST と CONVERT で業務SEがハマる3箇所 — 暗黙変換・カルチャ依存・あふれ
みなさんこんにちは!ヒロポンです! SQL Server の CAST と CONVERT、普段なんとなく使ってますよね。俺もそうでした。 型を変えるだけの地味な関数。エラーなんて出るわけない、と思ってた。 でも本番でだけ、これが牙を剥く。 朝イチの集計バッチで数字... -
SQL Server
SQL Server の一時テーブル・テーブル変数・CTE を業務SEが使い分ける3つの判断軸
みなさんこんにちは!ヒロポンです! SQL Server の一時テーブル(#temp)・テーブル変数(@table)・CTE。 中間結果をちょっと置いときたい時、この3つ、毎回なんとなくで選んでないですか?? 俺は昔そうでした。「変数っぽいしテーブル変数でええやろ」くら... -
SQL Server
SQL Server の ROUND で金額計算がズレる3つの罠 — 丸め方向・負の桁・暗黙の切り捨て
みなさんこんにちは!ヒロポンです! 金額の集計で ROUND を使ったら、合計が1円ズレた。検算しても合わない。sql server round で四捨五入したつもりが、出てくる数字が想定とどうも食い違う。あれ、計算合わへん??ってやつ。業務SEなら一度は通る道な... -
SQL Server
SQL Server で本番テーブルにカラムを追加する時、業務SEが気をつける3つのこと
みなさんこんにちは!ヒロポンです! 「このテーブルにカラム1個足しといて」。 軽く言われるんですよね。でも本番運用中のテーブルだと、これが地味に怖い。ALTER TABLE ... ADD COLUMN 一発で業務が止まることがある。 開発環境の空っぽのテーブルなら一... -
SQL Server
SQL Server UPDATE … FROM SELECT 3パターン — 業務SE が JOIN / CTE / MERGE を本番で使い分ける判断軸
SQL Server UPDATE ... FROM SELECT 3パターン — 業務SE が JOIN / CTE / MERGE を本番で使い分ける判断軸 みなさんこんにちは!ヒロポンです! 業務側から無線が飛んでくる。「A テーブルの一部だけ B テーブルの値で UPDATE してくれ」。本番オペレーシ... -
SQL Server
SQL Server ROW_NUMBER の落とし穴 — Window Function の内部実装と Sort Operator の判断軸
みなさんこんにちは!ヒロポンです!! 開発機の 50 行で 12ms。本番の数百万行で 30 秒。 「あれ、同じ SQL のはずなんやけど??」って画面の前で固まったこと、ないですか?? X 見てるとこの匂いのハマり方してる人、ほんま多いんですよね。N+1 と同じ... -
SQL Server
業務 SE が SQL Server INDEX 断片化に手を出す前に見る 3 箇所 — REBUILD / REORGANIZE / 放置の判断軸
業務 SE が SQL Server INDEX 断片化に手を出す前に見る 3 箇所 — REBUILD / REORGANIZE / 放置の判断軸 みなさんこんにちは!ヒロポンです!! 業務 SE やってると、ある日突然これに踏むやつ。なんで急に?? 夜間バッチで普段 5 分のクエリが 50 分。朝... -
SQL Server
SQL Server tempdb スピルを業務 SE が本番で踏む 3 箇所 — 検知と回避の判断軸
SQL Server tempdb スピルを業務 SE が本番で踏む 3 箇所 — 検知と回避の判断軸 みなさんこんにちは!ヒロポンです!! 業務 SE やってると一度はあるやつ。 金曜の夜、本番のバッチがいきなり 4 倍遅くなって、tempdb が 100GB に膨らんで database read-... -
SQL Server
業務 SE が踏む統計情報乖離 — 本番とステで実行計画が割れる時に最初に見る 3 箇所
ステは0.5秒で返ってきた SELECT が、本番だと30秒。 この記事に辿り着いた人、たぶんそんなトラブルで頭抱えてる頃やと思う。 業務系の現場でこれを踏むと、まず DBA に丸投げしたくなる。気持ちは分かる。ただ、丸投げの前に業務 SE 側で1分で見られる箇...
12
