(ブロ')グ

ブログって単語は両側に括弧つけると顔文字っぽい。(プロ')グ

MSSQLSERVER_601 NOLOCK ヒントでエラー

ダーティ リードしてしまっても構わないようなSQLについてはNOLOCK ヒントをつけていますが、たまに「データが移動されたので NOLOCK を使用したスキャンは続行できませんでした。」というエラーが起こります。

http://msdn.microsoft.com/ja-jp/library/bb326281.aspx

ダーティ リードしても良いと言っているんだから、移動されたデータを無視してしまえばよい気がするんだけどねぇ。

 

Windows のタスクスケジュール一覧取得

Windows で登録したタスクスケジュールの一覧を取得する方法

 schtasks /query /v /fo csv

/V 詳細な内容を出力
/FO 出力形式 TABLE LIST CSV が選択可能

 

WindowsXP/2003の場合と、Windows7/2008R2の場合と出方がちょと違う。

WindowsXP/2003の形式のほうが見やすいなぁ。

iPhone のホームボタン故障

iphone ホームボタンの反応が段々悪くなってきました。

Googleで「iPhone ホームボタン」で検索して出てきた、スリープボタン長押しをやっても効果なし・・

もっと調べてみたら「AssistiveTouch」機能を使えば、ホームボタン使わなくてもスクリーンだけで操作できそう。

http://weekly.ascii.jp/elem/000/000/074/74479/

修理に出すか迷っていたけど。当分はこれでごまかそう。

SQLServerのパフォーマンスの最適化(インデックス)

SQLServerのパフォーマンスの最適化の方法として、インデックスの作成があるけれども、
この記事を参考にして作ると良さそう。

・隠れたデータを明らかにしてアプリケーションのパフォーマンスを最適化する
http://msdn.microsoft.com/ja-jp/magazine/cc135978.aspx
ここの「コストのかかる不足インデックス」のSQLを実行すると、

作った方が良いインデックスの解ります。

ポイントは以下の3つの項目。

equality_columns(等号列)
inequality_columns(不等号列)
included_columns(付加列)

上の情報を元にインデックスを作ります。

http://msdn.microsoft.com/ja-jp/library/ms345405.aspx

上記のサイトによると、

  • 最初に等号列を指定します (列リストの最も左)。

  • 不等号列を等号列の次に指定します (等号列の右側)。

  • CREATE INDEX ステートメントの INCLUDE 句に付加列を指定します。

  • 等号列の有効な順序を決定するには、選択度に基づいて順序付けを行います。つまり、最も選択度が高い列を最初に指定します。

ということなので、下の様に作ればよいのかな。

例:CREATE NONCLUSTERED INDEX IX_インデックス名 ON テーブル名 (等号列1,等号列2,不等号列1,・・・) INCLUDE (付加列1,付加列2・・・);