SqlServer

システム開発

ストアド利用方法(SQL Server)

そもそもストアドって何?ストアドプロシージャ(Stored Procedure)は、「DBの中に保存しておくプログラム」みたいなものです。C#でいうメソッドを、SQL Serverの中に置いておくイメージですね。いつ使うのが効率的?① 複雑...
システム開発

SQL Server移行前後の件数確認クエリ集

① 全ユーザーテーブルの正確な件数を取得する(推奨)SELECT s.name AS schema_name, t.name AS table_name, SUM(p.rows) AS row_countFROM sys.tables tI...
システム開発

データ移行前後のINDEX調査と追加SQL

データ移行プロジェクトで見落とされがちなのが、既存テーブルのINDEX構成です。スキーマだけ移行してINDEXを再現していない、あるいは環境差分で抜け漏れがあると、移行後に性能問題が顕在化します。本記事では「既存環境のINDEXを調査するS...
システム開発

SQL Serverのロック状況を確認するクエリと実用的な分析ポイント

SQL Serverで「急に処理が遅くなった」「特定の更新処理が止まっている」といった事象に遭遇した場合、内部でロック競合やブロッキングが発生している可能性があります。本記事では、sys.dm_tran_locks を起点に、現在のロック状...
システム開発

SQL Serverのパフォーマンス低下時に見直すべき基本操作

SQL Serverを運用していると、これまで問題なく動作していたクエリが急に遅くなる、バッチ処理の完了時間が延びるといった事象に直面することがあります。こうしたパフォーマンス低下は、アプリケーション側の変更だけでなく、データ量の増加や内部...
システム開発

SQL ServerのCHECKPOINTとは?仕組みと実務での使い方

SQL Serverでトランザクション処理を行っていると、「CHECKPOINT」というキーワードを目にすることがあります。しかし、その仕組みや実行タイミング、パフォーマンスへの影響について深く理解している人は意外と少ないのではないでしょう...
システム開発

WITH句とLEFT JOINの使い分けのポイントとは?

複雑なSQLを書くとき、「WITH句(共通テーブル式)とLEFT JOINのどちらを使うべきか」で迷ったことはありませんか?どちらもよく使われる構文ですが、目的や使い方を誤ると、可読性やパフォーマンスに悪影響を及ぼすことも。この記事では、W...
システム開発

SQL Serverで使うOUTER APPLYの基本と実用例

SQL Serverで複雑なデータ取得ロジックを扱う際、「JOINでは足りない」「相関サブクエリではパフォーマンスが出ない」といった課題に直面することはありませんか?この記事では、そんなときに力を発揮する OUTER APPLY の仕組みと...
システム開発

LEFT JOINとEXISTSはどう使い分ける?SQLパフォーマンスと可読性から考える選択基準

SQLクエリを書く中で、サブクエリや結合の選択に迷うことはありませんか?特に「LEFT JOIN」と「EXISTS」の使い分けは、可読性やパフォーマンス、意図の明確さに大きく影響します。本記事では、両者の違いと適切な使いどころを事例ベースで...
システム開発

SQL Serverのカラム情報を取得するには?

SQL Serverでテーブルのカラム情報を取得したいとき、INFORMATION_SCHEMA.COLUMNSとsys.columnsのどちらを使うべきか迷ったことはありませんか?一見似ているこの2つのビューですが、用途や取得できる情報の...