すいません、VB4しかやってないんです、VBAはやったけど(ぼそ) チラシの裏だって立派な書き込み空間なんだからねっ!資源の有効活用なんだからねっ!とか偉そうに言ってるけど、実は色々と書き残したいだけ

だからなに? どうしろと? くるみサイズの脳みそしかないあやしいジャンガリアンベムスターがさすらう贖罪蹂躙(ゴシックペナルティ)

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  632  : 記事  35  : コメント  11686  : トラックバック  143

ニュース


片桐 継 は
こんなやつ

かたぎり つぐ ってよむの

大阪生まれ河内育ちなんだけど
関東に住みついちゃったの
和装着付師だったりするの
エセモノカキやってたりするの
VBが得意だったりするの
SQL文が大好きだったりするの
囲碁修行中だったりするの
ボトゲ好きだったりするの
F#かわいいよF#

正体は会った人だけ知ってるの

空気読まなくてごめんなさいなの


わんくまリンク

C#, VB.NET 掲示板
C# VB.NET掲示板

わんくま同盟
わんくま同盟Blog


WindowsでGo言語
WindowsでGo言語


ネット活動


SNSは疲れました

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

イベント活動

プログラムの活動

http://blogs.wankuma.com/esten/archive/2007/12/03/111565.aspx

の続き(汗)

あいかわらず、苦しみぬいているSQLServerでのSQL処理チューニング。一度書いたSQL文を使い回すぜオー!と意気込んで、ただいまソースおよび生成SQLを鋭意チェック中。そんな中でのちょいメモw

まずは、ここをチェック。
http://www.microsoft.com/japan/technet/prodtechnol/sql/2005/recomp.mspx

つまりだ、

SQL Server では、2 つのアドホック クエリのテキストが完全に一致する必要があります。テキストの一致では、大文字と小文字、およびスペースの有無が区別されます。

ってな事なんで、プログラムで生成するSQL文処理をしていると、この辺りは杞憂。キャッシュはがんがん入るから有利になれるはず(^^; もちろん、その上で、プログラム上でパラメータ化できるところはとことんパラメータ化。んでもって、ProFilerで流れてくるSQL文をチェックして、使いまわし出来ているのかドキドキに見守るw、CacheHitイベントの発生がドドドーっと来ると、パラメータ化が出来てて、SQLServer自身も「使いまわしてあげてもよろしくってよ」と微笑んでくれているんだと解釈できるんだよね? そうだよね? そうだといってよ、DBサーバー(おい

この際、パラメータ化できるところはパラメータ化なんていってても、何が何でもパラメータ化して楽しておけるわーってわけではないらしく、記事抜粋。
----------------------
以下に、SQLServer2005で自動パラメータ化されないステートメントの種類を記載します。

?IN句を含むクエリは自動パラメータ化されません。以下に例を示します。
  WHEREProductIDIN(707,799,905)
?BULKINSERTステートメント。
?変数が含まれているSET句を含むUPDATEステートメント。以下に例を示します。
  UPDATE Sales.Customer
  SET CustomerType=N'S'
  
WHERE CustomerType=@a
?UNIONを含むSELECTステートメント。
?INTO句を含むSELECTステートメント。
?FORBROWSE句を含むSELECTまたはUPDATEステートメント。
?OPTION句を使用して指定されたクエリヒントを含むステートメント。
?DISTINCTを含むSELECTリストを持つSELECTステートメント。
?TOP句を含むステートメント。
?WAITFORステートメント。
?FROM句を含むDELETEまたはUPDATE。
?FROM句に以下のいずれかが含まれている場合。
?複数のテーブル
?TABLESAMPLE句
?テーブル値関数またはテーブル値変数
?フルテキストテーブル
?OPENROWSET
?XMLUNNEST
?OPENXML
?OPENQUERY
?IROWSET
?OPENDATASOURCE
?テーブルヒントまたはインデックスヒント
?SELECTクエリにサブクエリが含まれている場合。
?SELECTステートメントにGROUPBY、HAVING、またはCOMPUTEBYが含まれている場合。
?WHERE句内でORで結合されている式。
?「expr<>non-null-constant」という形式の比較述語。
?フルテキスト述語。
?INSERT、UPDATE、またはDELETE内の対象となるテーブルがテーブル値関数の場合。
?EXECstringで送信されたステートメント。
?TF447で自動パラメータ化されるパラメータを使用せずに、sp_executesql、sp_prepare、およびsp_prepexecで送信されたステートメント。
?クエリ通知が要求される場合。
?クエリに共通テーブル式の一覧が含まれる場合。
?クエリにFORUPDATE句が含まれる場合。
?UPDATEにORDERBY句が含まれる場合。
?クエリにGROUPING句が含まれる場合。
?INSERTINTOTDEFAULTVALUESという形式のINSERTステートメント。
?INSERT...EXECステートメント。
?クエリに2つの定数の比較が含まれている場合。以下に例を示します。
  
WHERE 20 > 5
----------------------

とにかく、今回のサーバーさん、たくさんたくさんキャッシュを見て、情報ゲッチュー♪しているのをProfilerで確認。使えば使うほど、少しずつですがパフォーマンスはあがるはずです。
後は、クエリ最適化において作成される実行プランときっても切り離せない、統計情報をおさらいw

ってことでここ。
http://www.microsoft.com/japan/technet/prodtechnol/sql/2005/qrystats.mspx
http://www.mssqltips.com/tip.asp?tip=1193
http://sqlserver-qa.net/blogs/perftune/archive/2007/07/23/usage-and-good-practices-with-update-statistics-feature-in-sql-2005.aspx

まーようするに、統計情報は作っとけとw 自動でちまちまと入れといて、使いまわしきくようにしとかんとあかんでー、という世界らしい。

でも、統計情報の過信は禁物、こっちも読んどけ、と

http://support.microsoft.com/kb/195565/ja

で出てくるキーワード、rowmodctr

こいつについては
http://technet.microsoft.com/ja-jp/library/ms190283.aspx

で、閑話休題、こんなSQLをこっそりと作ってみる

   1:  select
   2:  sys.objects.name as [TBL_Name],
   3:  sys.indexes.name as [IDX_Name],
   4:  sys.sysindexes.indid as [IDX_SEQ],
   5:  sys.sysindexes.keycnt as [KeyCount],
   6:  sys.sysindexes.rows as [RowCount],
   7:  sys.sysindexes.rowmodctr as [RowModCTR],
   8:  sys.sysindexes.reserved as [PageSize],
   9:  CASE sys.sysindexes.reserved
  10:   WHEN 0 THEN '0'
  11:   ELSE sys.sysindexes.used * 100  / sys.sysindexes.reserved
  12:  END as [Usage%],
  13:  sys.dm_db_index_usage_stats.user_seeks as [SeekCount],
  14:  sys.dm_db_index_usage_stats.user_updates as [UpdateCount]
  15:   from sys.sysindexes
  16:    inner join sys.indexes on sys.indexes.object_id = sys.sysindexes.id
  17:    inner join sys.objects on sys.objects.object_id = sys.sysindexes.id
  18:      and sys.objects.type ='U'
  19:   INNER JOIN sys.dm_db_index_usage_stats ON
  20:     sys.dm_db_index_usage_stats.object_id = sys.sysindexes.id
  21:  order by [TBL_Name],[IDX_Name],[IDX_SEQ] 

今あるインデックスはどれだけ作られてて、どれくらい使われてて、どれくらい更新されてるのか?
走らせてみた結果、使い回しは頑張っているらしい。サーバーなりにw

結論:
個々のSQL文のチューニング、つまったら次は全体処理のチューニング、それでもダメなら……遠くを見つめて長ーく溜息。

投稿日時 : 2007年12月5日 23:52

コメント

# hDugtSlkAtJLHt 2022/04/19 12:32 johnanz
http://imrdsoacha.gov.co/silvitra-120mg-qrms

# canada pharmaceuticals online https://noprescriptioncanada.com/
canada rx 2022/12/16 23:46 NoPrescript
canada pharmaceuticals online https://noprescriptioncanada.com/
canada rx

# Read information now. Medicament prescribing information.
https://canadianfast.com/
Prescription Drug Information, Interactions & Side. Everything what you want to know about pills. 2023/02/20 0:24 CanadaBest
Read information now. Medicament prescribing information.
https://canadianfast.com/
Prescription Drug Information, Interactions & Side. Everything what you want to know about pills.

# verified canadian pharmacies https://pillswithoutprescription.pro/# 2023/05/16 11:34 PillsPro
verified canadian pharmacies https://pillswithoutprescription.pro/#

# pills erectile dysfunction https://edpill.cheap/ ed pills gnc 2024/02/10 1:02 EdPills
pills erectile dysfunction https://edpill.cheap/ ed pills gnc

# abella danger filmleri https://abelladanger.online/ abella danger izle
2024/03/04 21:23 Adella
abella danger filmleri https://abelladanger.online/ abella danger izle


# lana rhoades full video - https://lanarhoades.pro/ lana rhoades boyfriend
2024/03/06 18:12 LanaRho
lana rhoades full video - https://lanarhoades.pro/ lana rhoades boyfriend


# eva elfie full video https://evaelfie.site/ eva elfie photo
2024/03/07 6:53 EvaElfie
eva elfie full video https://evaelfie.site/ eva elfie photo


# aviator https://aviatormocambique.site jogar aviator
2024/03/12 1:39 AviatorMaz
aviator https://aviatormocambique.site jogar aviator


# jogar aviator online https://aviatorjogar.online/ - jogar aviator Brasil
2024/03/12 23:49 BraAvia
jogar aviator online https://aviatorjogar.online/ - jogar aviator Brasil


# sweet bonanza indir https://sweetbonanza.bid/ - sweet bonanza nas&#305;l oynan&#305;r
2024/03/28 0:22 Bonanzaj
sweet bonanza indir https://sweetbonanza.bid/ - sweet bonanza nas&#305;l oynan&#305;r


Post Feedback

タイトル
名前
Url:
コメント