SQL

SQL

【SQL Server】IN句に上限はある?大量指定が遅い原因とVALUES・一時テーブル・JOINでの対策

SQL ServerのIN句にOracleのような1000件固定制限はあるのか、大量INが遅くなる原因、8623/8632エラー、2100パラメータ、VALUES・一時テーブル・JOIN・テーブル値パラメータでの対策を整理します。
SQL

【SQL Server】テーブル一覧を取得するSQL|sys.tables・INFORMATION_SCHEMA.TABLES・sp_tablesの使い分け

SQL Serverでテーブル一覧を取得するSQLを、sys.tables、INFORMATION_SCHEMA.TABLES、sp_tablesの使い分け、スキーマ指定、テーブル名検索、作成日・更新日・行数確認まで整理します。
SQL

【SQL Server】datetimeから日付のみを取得・比較する方法|CONVERT(date)・CAST・範囲条件の使い分け

SQL Serverでdatetime列から日付のみを取得・比較する方法を、CONVERT(date)、CAST、インデックスを効かせる範囲条件、FORMATを避ける理由、日別集計の実務例まで整理します。
SQL

【MySQL】IN句に上限はある?大量ID指定が遅い原因と一時テーブル・JOINでの対策

MySQLのIN句にOracleのような1000件上限はあるのか、実務で問題になりやすいSQL長、プレースホルダ、型不一致、実行計画、max_allowed_packet、一時テーブルやJOINでの対策を整理します。
SQL

【MySQL】ロックを確認する方法|SHOW PROCESSLIST・InnoDBトランザクション・待機SQLの調査

MySQLでロック待ちや処理停止が起きたときに、SHOW PROCESSLIST、INNODB_TRX、data_locks、data_lock_waits、SHOW ENGINE INNODB STATUSで待機SQLとブロック元を確認する手順をまとめます。
SQL

【SQL Server】空白を削除する方法|TRIM・LTRIM・RTRIM・REPLACEで前後・全角スペースを除去

SQL Serverで空白を削除する方法を整理します。TRIM、LTRIM、RTRIM、REPLACEで前後の空白、全角スペース、タブ、改行を除去するSQL例と注意点を扱います。
SQL

【SQL Server】LIMITの代わりに使うTOP・OFFSET FETCH|件数指定・ページング・ROW_NUMBERの使い分け

SQL ServerでLIMITの代わりに使うTOP、OFFSET FETCH、ROW_NUMBERを整理します。件数指定、ページング、グループごとの上位N件、ORDER BYや性能面の注意点まで扱います。
SQL

【SQL Server】複合インデックスの列順の決め方|等価条件・範囲条件・ORDER BYの考え方

SQL Serverの複合インデックスで列順をどう決めるかを整理します。等価条件、範囲条件、ORDER BY、JOIN、INCLUDE句、Missing Index提案の見直しまで扱います。
SQL

【SQL Server】Missing Indexの見方|不足インデックス提案をそのまま作ってはいけない理由

SQL ServerのMissing Indexの見方を整理します。実行計画の不足インデックス提案、DMVの確認SQL、そのまま作る危険性、候補の除外、既存インデックスとの統合、作成前後の検証まで扱います。
SQL

【SQL Server】インデックス断片化を確認・再構築する方法|REBUILD・REORGANIZE・sys.dm_db_index_physical_stats

SQL Serverのインデックス断片化を確認し、REBUILD・REORGANIZEを使い分ける方法を整理します。sys.dm_db_index_physical_stats、page_count、page density、統計情報、権限、ログ容量、実行前後の確認まで扱います。
SQL

【SQL Server】カバリングインデックスとは|INCLUDE句・Key Lookup削減・遅いSQL対策

SQL Serverのカバリングインデックスとは何か、INCLUDE句でKey Lookupを減らす考え方、キー列と付加列の選び方、作成前後の確認方法、作成してよいケースを実務向けに整理します。
SQL

【SQL Server】インデックスが使われない原因|暗黙変換・関数・LIKE・複合インデックスの落とし穴

SQL Serverでインデックスが使われない原因を、暗黙変換、列側関数、LIKE、複合インデックスの列順、OR条件、Key Lookup、統計情報、実行計画の確認方法から整理します。
SQL

【SQL Server】Query Storeの使い方|遅いSQL・実行計画の変更・性能劣化を調査

SQL Server Query Storeの使い方を、設定確認、有効化、遅いSQLの抽出、実行計画の変更、性能劣化、待機統計、プラン強制、Query Storeヒントまで整理します。
SQL

【SQL Server】パラメータスニッフィングとは|実行計画が変わる原因と対処法

SQL Serverのパラメータスニッフィングで実行計画が変わる原因と、OPTION (RECOMPILE)、OPTIMIZE FOR UNKNOWN、OPTIMIZE FOR、統計情報、SQL Server 2022のParameter Sensitive Plan最適化まで整理します。
SQL

【SQL Server】統計情報を更新する方法|UPDATE STATISTICS・AUTO_UPDATE_STATISTICSで遅いSQLを改善

SQL Serverの統計情報を更新する方法を、UPDATE STATISTICS、sp_updatestats、AUTO_UPDATE_STATISTICS、sys.dm_db_stats_properties、FULLSCANやSAMPLEの使い分け、遅いSQL調査の流れで整理します。
SQL

【SQL Server】実行計画の見方|Table Scan・Index Seek・Key Lookupで遅いSQLを調査

SQL Serverの実行計画の見方を、推定実行計画と実際の実行計画の違い、Table Scan、Index Seek、Key Lookup、Missing Index、SortやHash Match、STATISTICS IOを使った遅いSQL調査の流れで整理します。
SQL

【SQL Server】tempdbが肥大化する原因と確認方法|一時テーブル・ソート・バージョンストア・空き容量対策

SQL Serverのtempdbが肥大化する原因を、一時テーブル、内部オブジェクト、ソート、ハッシュ処理、バージョンストア、長時間トランザクションから切り分けます。
SQL

【SQL Server】トランザクションログがいっぱいになる原因と対処法|ログ肥大化・復旧モデル・DBCC SQLPERF

SQL Serverでトランザクションログがいっぱいになる原因を、エラー9002、DBCC SQLPERF、log_reuse_wait_desc、復旧モデル、ログバックアップ、長時間トランザクションから切り分けます。
SQL

【SQL Server】デッドロックの原因と確認方法|エラー1205・デッドロックグラフ・回避策

SQL Serverのデッドロックで発生するエラー1205の原因と確認方法を、デッドロックグラフ、system_health、Extended Events、再試行実装、予防策まで整理します。
SQL

【SQL Server】テーブルロックを確認するSQL|sys.dm_tran_locks・sp_who2・ブロッキング調査

SQL Serverでテーブルロックやブロッキングを確認するSQLを、sys.dm_tran_locks・sys.dm_exec_requests・sp_who2の使い分けから解除前の注意点まで整理します。