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

SqlServer

SqlServer SqlDatabase 発行されたクエリを確認するクエリ

例1: 日付部分は任意 例2: リングバッファの作成 取得 一まとめVer

続きを読む

処理が遅いクエリ(SQL)を検出

統計情報から抽出 ・平均処理がかかっている ・累積処理時間がかかっている

続きを読む

結合種類(JoinType)

Nested Loop(ネステッドループ結合): 外側テーブル1行ごとに内側テーブルを1周ループしながら結合する方法。外側テーブルの行数が少なく、内側テーブルにインデックスがある場合に処理が高速になる。 Merge Jo ...

続きを読む

クエリチューニング手順

1、クエリに原因があるのか切り分け: 多くの場合は、クエリに原因があるところまで断定されていないので、本当にクエリに問題があるのか確認する。プログラム部分の問題かもしれないし。 2、現状の結果と変わらないクエリでインデッ ...

続きを読む

batでSQLServerのバックアップとリストアを行う

検証作業等でbat処理でバックアップ取得やリストア作業を便利にする。 ・バックアップの取得: 下記ファイルを用意する backup.sql backup.bat 同階層に上記ファイルを配置して、backup.batを実行 ...

続きを読む

クラスター化インデックス、非クラスター化インデックスについて

クラスター化インデックス: テーブル・ビューそのものをそのキーに基づき並び替える。ようはテーブル・ビューそのものなので、一つしか設定できないし、データ取得の際にキー参照のコストがかからない。デフォルトでは主キーがクラスタ ...

続きを読む

SQLServerのキャッシュクリア

クエリチューニング等でキャッシュを使用せずにクエリの測定を行いたい場合などに使用。 上記コマンドセットでキャッシュをクリアする。 データバッファキャッシュのクリア: データのキャッシュ プロシージャキャッシュのクリア: ...

続きを読む

SQL句実行順序

基本的にSQLは以下の順番で実行される。 1、from 2、where 3、group by 4、having 5、select 6、union 7、order by 8、distinct サブクエリ: 内側のクエリの結 ...

続きを読む

悲観ロック

読み取りをした時点で排他ロックをかけておき(他社からはこの時点で読み取りもできない)、更新完了でロックを解除する。読み取り時点から同時実行制御が開始されている。

続きを読む

楽観ロック

読み取りは自由にさせておいて、いざ更新という時にバージョン情報(UpdateTimeなどを使用する場合もある)を確認して同時実行制御を行い、データを更新する。

続きを読む