以前、クラスター化インデックスのみのテーブルで COUNT(*) をおすすめしない理由 という投稿を書きました。
クラスター化インデックスのみが設定されているテーブルに対しての COUNT(*) はテーブルスキャンが発生してしまうため、非クラスター化インデックスを設定して、非クラスター化インデックススキャンまたは、sys.dm_db_partition_stats を使用してテーブル全体の件数 (概算件数) を取得するという内容です。
この投稿はテーブル全体の件数を取得する際の方法でしたので、今回の投稿では WHERE で条件を絞った場合の件数取得について少し考えてみようかと。
Archive for 7月 29th, 2014
WHERE 付きのカウントを早くする方法を考えてみる
ユーザー定義関数を使用する場合に気を付けておきたいこと
先日、大阪で開催された db tech showcase 2014 の [B24] Oracle から SQL Server システム移行の勘所 でも話にあったようですが、ユーザー定義関数を使用する場合に気を付けておきたいことをメモとして。
SQL CLR を調べようとしたときの参考
ちょっと SQL CLR を調べる必要があったので、その時に参考にしたサイトのメモを。
CLR (共通言語ランタイム) 統合によるデータベース オブジェクトの構築
マネージ コードでの SQL Server オブジェクトの作成
CLR データベース オブジェクトを使用する方法
Using CLR With SQL Server 2012
開発には Visual Studio 2013 Express を使用することができます。
SSDT and Visual Studio versions
Microsoft Visual Studio Express 2013 for Windows Desktop
デフォルトでは SQL Server オブジェクトブラウザーが SQL Server 2014 に対応していないので、[ツール] → [拡張機能と更新プログラム] から SSDT を更新するとよいかと。
# SQL Server 2014 に対応した SQL CLR は SQL Server 2012 同様、.NET Framework 4.0 で開発すればよいので、オブジェクトブラウザーを使用しないのであれば、デフォルトの状態でも開発できますが。