SQLServerのパフォーマンスのテストと最適化ツールと詳細なパフォーマンステストのSQLServer Optimizerは詳細を使用しています

オリジナル:SqlServerのパフォーマンステストと最適化ツールの詳細

 

ツールの概要    

    データベースアプリケーションシステムならば、あなたはそれを最適化する必要があり、テーブル、ビュー、インデックス、トリガ、関数、ストアドプロシージャ、SQL文などの多数、およびパフォーマンスの低下、および強制するのは難しいが、そこに、あなたはどのように行うことができます?ブラザーは、問題がどこにあるかを知るために必要なすべての最初の、あなたを教えるには?あなたは彼をどこに問題を知っている、と探したい場合は、我々は、パフォーマンステストツール--sqlサーバープロファイラを伝えるためにこの記事を使用することができます(SQLのインストール・ファイルに - パフォーマンスツール--sqlサーバープロファイラー)

    あなたはどこで問題を知っているが、あなたは比類のないマスターであれば、当然のことながら、を取り除くために対処するためのコードのセクションを書いて、中にキーストレートかもしれないが、あなたができない場合は、あなたができない場合、それは問題で、あなたはあなたに兄弟の電源を使用することができていませんこの問題を解決します。あなたの弟のハートがある秘密の武道を与える(SQLインストールファイルで - パフォーマンスツール - データベースエンジンチューニングアドバイザ)---データベースエンジンチューニングアドバイザ

SQL Serverのプロファイラ機能 

    このツールバイクナンもコナン、彼はあなたが彼を移動しない場合でも、彼はまた、彼は非常に安かった、あなたを見ている、すべての動きデータベースを検出することができますので。彼は監視のみでなく、非常に詳しく、またコンテンツがデータベースやファイルに記録された監視方法を詳細に言うだろう1、あなたはどのように悪いのデータベースのパフォーマンスを出してあなたの妻の言うことを文句で監視するだけでなく、彼ではありませんあなたのコースの良いレコード、善と悪を与える、あなたが分析する必要があり、実際には、彼はまた、非常にコナン2です。

データベースエンジンチューニングアドバイザの機能 

    この武術は、優れた武術です。同様銭くんダ諾張無忌、最初のSQL Serverのプロファイラを受け入れる等、SQL、ビュー、ストアドプロシージャ、データ構造などを検出し、その後、彼は彼自身を分析して、彼の腕の中で2周、感じたターンねえ、ギブなど、よりエネルギッシュな、より良いインデックスをスローする力、統計は、パーティション情報をお勧め​​します。あなたが負担してみましょう、happly死。あなたに耳を傾ける兄弟の下には私たちの非常に最初の2コナンについて話しています。

SQL Serverのプロファイラの使用

--- --- >> SQL Serverのプロファイラいくつかのパフォーマンスツール--sqlserverメインメニューを開き、愚かな異邦人、見つけることができませんでしたか?ブラザーはあなたを待っている間、彼はあなたが見てみましょう後にオープン張にあなたのマップを与えます。

[ファイル - 新しいトラッキング - トラッキングプロパティ]ウィンドウの表示を

それはまず、フィルタ監視を選択のTextData%です。その%は、彼の冒頭陳述がスクリーニング選択することを意味するワイルドカードです。もちろん、これは簡単な更新%、削除%として、独自に定義することができます.....

それは上に置くべき値を含む行を除外して、実行を決定するものではありません。そして、データベースで選択を実行します。あなたは彼がそれを検出していることがわかります。

この権利の各列は、開始EventClassから、私は約何があなたを伝えます。

アプリケーションのプロセスIDでスクリプトを実行すると、イベントの分類は、開始時刻、言ったら、システムユーザ、データベースユーザ、CPU占有率、データベースの読み取りと書き込みのデータベースの数を操作し、文の終了時間をアプリケーション名を適用します。

イベントを選択し、あなたがマウスを置く置く、彼は中国の下に指摘しています。良いの自分を見て、その後、イベントをチェックするために、独自の必要性に応じて。

次に、ファイル - >>名前を付けて保存、ファイルやデータテーブルに監視されたデータを保存することができます。

分析:

最長のクエリを探す1

通常の状況下では、最も長い時間クエリクエリの理由があり、最も影響を与えるパフォーマンスです。それは時間のデータベースエンジンがかかるだけでなく、システムリソースの浪費するだけでなく、インタラクティブなデータベースアプリケーションシステムの速度に影響を与えるだけではなく。ストアドプロシージャ-RPCでBatchCompleted :.完了:トラックを作成するときに、その間のデータが最初に彼を見つけ、最適化アプリケーションシステムに使用することができ、その最適化、TSQL-SQLをフック。だから、時間の最大量のクエリを見つけると最適化を分析することができます。

<追跡テーブル>からのTextData、時間、CPU選択
12等しいBatchCompletedイベント表す- EventClass = 12 
とCPUを<(0.4 *時間) - 注CPU占有時間、40%未満のSQL文の実行時、もし文の待機が長すぎます

2.ほとんどのシステムリソースクエリ

就是占用cpu时间,跟读写IO的次数。建议事件包含Connect、Disconnect、ExistingConnection、SQL:BatchCompleted、RPC:completed,列包含writes,reads,cpu。

3.检测死锁

在访问量,并发量都很大的数据库中,如果设计稍不合理,就有可能造成死锁,给系统性能带来影响。事件包含:RPC:Starting、SQL:BatchStarting、Lock:DeadLock(死锁事件)、Lock:DeadLockChaining(死锁的事件序列)。

使用数据库引擎优化顾问分析解决数据库性能

打开系统主菜单--sqlserver几---性能工具--->>数据库引擎优化顾问,界面如下

 

 

打开之后,你在上一个工具中保存的的文件,你就在这里的工作负荷中选文件,表就选表。选后别急。

把要分析的数据库跟数据库的表选上,也就是下面的用于工作负荷分析的数据库选择,跟下面的要优化的数据库和表,慢慢扣,把他选对。

然后选则你想要的优化选项

根据需要,选上,高级选项里面通常可以默认。确定。。

然后点左上角有一个开始分析。

分析完成

工具概要    

    如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler)

    如果知道啦问题出现在哪里,如果你又是绝世高手,当然可以直中要害,写段代码给处理解决掉,但是如果你不行,你做不到,那么也无所谓,可以借助哥的力量给你解决问题。哥给你的武功的秘诀心法是---数据库引擎优化顾问(处在sql安装文件--性能工具--数据库引擎优化顾问)

sql server profiler功能 

    此工具比柯南还柯南,因为他能检测到数据库中的一举一动,即便你不动他,他也在监视你,他很贱的。他不但监视,还监视的很详细,有多详细一会再说,还把监视的内容记录到数据库或者是文件中,给你媳妇告状说你把数据库哪里的性能搞的多么不好,不过他也会把好的给你记录下来,好与不好这当然需要你来分析,其实他也是个很2的柯南。

数据库引擎优化顾问功能 

    此武功,乃上乘武功。像张无忌的乾坤大挪移,先是接受sql server profiler检测出来的sql,视图,存储过程,数据结构等等,然后他再自己分析,然后再在怀中转两圈,感觉自己转的差不多啦,就给抛出来个威力更炫,更好的索引,统计,分区等等建议信息。让你承受不住,happly致死。。下面听哥给你先讲讲咱们的很2柯南。

sql server profiler的使用

打开系统主菜单--sqlserver几---性能工具--->>sql server profiler;笨样儿,找到没?哥等你会儿,给你上张打开他后的图,让你看看。。

然后文件--新建跟踪--显示跟踪属性窗口

首先那个select%是个筛选监测的TextData。那个%是个通配符,他的意思就是筛选select开口的语句。当然这你自己可以随便定义,如update%,delete%....。

把那个排除不包含值的行也给带上,然后确定,运行。然后在数据库中运行一句select。你会发现他检测到啦。

每列以此向右,从EventClass开始,我给你讲讲都是什么。

事件分类,申请了语句,应用程序名称,操作系统用户,数据库用户,cpu占用率,读数据库次数,写数据库次说,执行脚本用时,应用程序进程号,开始时间,结束时间等。

事件选择,你就把鼠标放上去,他下面有中文的注释。自己好好看看,然后根据你自己的需要把事件勾选上来。

然后文件-->>另存为,可以把这些监测到的数据保存为文件,或数据表。

分析:

1.查找持续时间最长的查询

一般情况下,最长查询时间的查询语句就是最影响性能的原因存在。它不仅占用数据库引擎大量的时间,还浪费系统资源,还影响数据库应用系统的交互速度。再对数据用应用系统进行优化时,先找出他,对其优化,在创建跟踪时,勾上TSQL-SQL:BatchCompleted.跟Stored Procedures-RPC:completed。这样就能找出来这个最长时间查询然后对其进行分析优化。

select TextData,Duration,CPU from <跟踪的表>
where EventClass=12 -- 等于12表示BatchCompleted事件
and CPU<(0.4*Duration)  --如果cpu的占用时间,小于执行sql语句时间的40%,说明该语句等待时间过长

2.最占用系统资源的查询

就是占用cpu时间,跟读写IO的次数。建议事件包含Connect、Disconnect、ExistingConnection、SQL:BatchCompleted、RPC:completed,列包含writes,reads,cpu。

3.检测死锁

在访问量,并发量都很大的数据库中,如果设计稍不合理,就有可能造成死锁,给系统性能带来影响。事件包含:RPC:Starting、SQL:BatchStarting、Lock:DeadLock(死锁事件)、Lock:DeadLockChaining(死锁的事件序列)。

使用数据库引擎优化顾问分析解决数据库性能

打开系统主菜单--sqlserver几---性能工具--->>数据库引擎优化顾问,界面如下

 

 

打开之后,你在上一个工具中保存的的文件,你就在这里的工作负荷中选文件,表就选表。选后别急。

把要分析的数据库跟数据库的表选上,也就是下面的用于工作负荷分析的数据库选择,跟下面的要优化的数据库和表,慢慢扣,把他选对。

然后选则你想要的优化选项

根据需要,选上,高级选项里面通常可以默认。确定。。

然后点左上角有一个开始分析。

分析完成

おすすめ

転載: www.cnblogs.com/zhang1f/p/11953695.html